Python 命名一般來(lái)說(shuō)有一下不成文的規(guī)則 :
鎮(zhèn)安網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
模塊名一般使用全部小寫 如 myphone
類名第一個(gè)字母大寫,如果有多個(gè)單詞,每一個(gè)單詞的第一個(gè)字母大寫如 : MyPhone
函數(shù)名 : 小寫, 如果有多個(gè)單詞用下劃線隔開(kāi) 如 my_phone
常量名字一般全大寫 : MYPHONE
單行注釋:# + 空格 + 注釋
語(yǔ)句后注釋:兩個(gè)空格 + # + 空格 + 注釋
PyCharm在定義函數(shù)之前空兩行,使用函數(shù)之前空兩行來(lái)消除下劃線
4、字典
冒號(hào)后加一個(gè)空格去除下劃線
(1)簡(jiǎn)單數(shù)據(jù)類型變量無(wú)論是否與全局變量重名,僅在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放,如有全局同名變量,其值不變。
(2)簡(jiǎn)單數(shù)據(jù)類型變量在用global保留字聲明后,作為全局變量使用,函數(shù)退出后該變量保留且值被函數(shù)改變。
(3)對(duì)于組合數(shù)據(jù)類型的全局變量,如果在函數(shù)內(nèi)部沒(méi)有被真實(shí)創(chuàng)建的同名變量,則函數(shù)內(nèi)部可以直接使用并修改全局變量的值。
(4)如果函數(shù)內(nèi)部真實(shí)創(chuàng)建了組合數(shù)據(jù)類型變量,無(wú)論是否有同名全局變量,函數(shù)僅對(duì)局部變量進(jìn)行操作,函數(shù)退出后局部變量被釋放,全局變量值不變。
*《python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》.高等教育出版社
一般來(lái)說(shuō),Python程序員可能是這樣寫main()函數(shù)的:
"""Module docstring.
This serves as a long usage message.
"""import sysimport getoptdef main():
# parse command line options
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except getopt.error, msg: print msg print "for help use --help"
sys.exit(2) # process options
for o, a in opts: if o in ("-h", "--help"): print __doc__
sys.exit(0) # process arguments
for arg in args:
process(arg) # process() is defined elsewhereif __name__ == "__main__":
main()1234567891011121314151617181920212223242526
Guido也承認(rèn)之前自己寫的main()函數(shù)也是類似的結(jié)構(gòu),但是這樣寫的靈活性還不夠高,尤其是需要解析復(fù)雜的命令行選項(xiàng)時(shí)。為此,他向大家提出了幾點(diǎn)建議。
添加可選的 argv 參數(shù)
首先,修改main()函數(shù),使其接受一個(gè)可選參數(shù) argv,支持在交互式shell中調(diào)用該函數(shù):
def main(argv=None):
if argv is None:
argv = sys.argv # etc., replacing sys.argv with argv in the getopt() call.1234
這樣做,我們就可以動(dòng)態(tài)地提供 argv 的值,這比下面這樣寫更加的靈活:
def main(argv=sys.argv):
# etc.12
這是因?yàn)樵谡{(diào)用函數(shù)時(shí),sys.argv 的值可能會(huì)發(fā)生變化;可選參數(shù)的默認(rèn)值都是在定義main()函數(shù)時(shí),就已經(jīng)計(jì)算好的。
但是現(xiàn)在sys.exit()函數(shù)調(diào)用會(huì)產(chǎn)生問(wèn)題:當(dāng)main()函數(shù)調(diào)用sys.exit()時(shí),交互式解釋器就會(huì)推出!解決辦法是讓main()函數(shù)的返回值指示退出狀態(tài)(exit status)。因此,最后面的那行代碼就變成了這樣:
if __name__ == "__main__":
sys.exit(main())12
并且,main()函數(shù)中的sys.exit(n)調(diào)用全部變成return n。
定義一個(gè)Usage()異常
另一個(gè)改進(jìn)之處,就是定義一個(gè)Usage()異常,可以在main()函數(shù)最后的except子句捕捉該異常:
import sysimport getoptclass Usage(Exception):
def __init__(self, msg):
self.msg = msgdef main(argv=None):
if argv is None:
argv = sys.argv try: try:
opts, args = getopt.getopt(argv[1:], "h", ["help"]) except getopt.error, msg: raise Usage(msg) # more code, unchanged
except Usage, err: print sys.stderr, err.msg print sys.stderr, "for help use --help"
return 2if __name__ == "__main__":
sys.exit(main())123456789101112131415161718192021222324
這樣main()函數(shù)就只有一個(gè)退出點(diǎn)(exit)了,這比之前兩個(gè)退出點(diǎn)的做法要好。而且,參數(shù)解析重構(gòu)起來(lái)也更容易:在輔助函數(shù)中引發(fā)Usage的問(wèn)題不大,但是使用return 2卻要求仔細(xì)處理返回值傳遞的問(wèn)題。
Python基本語(yǔ)法
Python的語(yǔ)法相對(duì)比C,C++,Java更加簡(jiǎn)潔,比較符合人的正常思維。本篇介紹Python的基本語(yǔ)法,通過(guò)本篇文章你可以學(xué)到以下內(nèi)容。
掌握Python的基本語(yǔ)法
識(shí)別Python中的關(guān)鍵字
Python是一門腳本語(yǔ)言,有以下特點(diǎn):
面向?qū)ο螅侯?/p>
語(yǔ)法塊:使用縮進(jìn)進(jìn)行標(biāo)記
注釋: #單行注釋,"""多行注釋""",'''我也是多行注釋''
打印與輸出:print(), input()
變量: 變量在賦值的時(shí)候確定變量的類型
模塊:通過(guò)import 模塊名進(jìn)行加載模塊
Python的標(biāo)識(shí)符
標(biāo)識(shí)符是用戶編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語(yǔ)句塊等命名,以建立起名稱與使用之間的關(guān)系。標(biāo)識(shí)符通常由字母和數(shù)字以及其它字符構(gòu)成。
標(biāo)識(shí)符的命名遵循以下規(guī)定:
開(kāi)頭以字母或者下劃線_,剩下的字符數(shù)字字母或者下劃線
Python遵循小駝峰命名法
不是使用Python中的關(guān)鍵字進(jìn)行命名
代碼示例:
num = 10 # 這是一個(gè)int類型變量
錯(cuò)誤命名示例:
123rate(數(shù)字開(kāi)頭)、 mac book pro(含有空格),class(關(guān)鍵字)
Python關(guān)鍵字
以下列表中的關(guān)鍵字不可以當(dāng)作標(biāo)識(shí)符進(jìn)行使用。Python語(yǔ)言的關(guān)鍵字只包含小寫字母。