Python入門(mén)篇之編程習(xí)慣與特點(diǎn)
1.代碼風(fēng)格
在Python中,每行程序以換行符代表結(jié)束,如果一行程序太長(zhǎng)的話,可以用“\”符號(hào)擴(kuò)展到下一行。在python中以三引號(hào)(""")括起來(lái)的字符串,列表,元組和字典都能跨行使用。并且以小括號(hào)(...)、中括號(hào)[...]和大括號(hào){...}包圍的代碼不用加“\”符也可擴(kuò)展到多行。
在Python中是以縮進(jìn)來(lái)區(qū)分程序功能塊的,縮進(jìn)的長(zhǎng)度不受限制,但就一個(gè)功能塊來(lái)講,最好保持一致的縮進(jìn)量。
如果一行中有多條語(yǔ)句,語(yǔ)句間要以分號(hào)(;)分隔。
以“#”號(hào)開(kāi)頭的內(nèi)容為注釋,python解釋器會(huì)忽略該行內(nèi)容。
在python中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開(kāi)頭。python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。
以下劃線開(kāi)頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線開(kāi)頭(_foo)的代表不能直接訪問(wèn)的類屬性,需通過(guò)類提供的接口進(jìn)行訪問(wèn),不能用“from xxx import *”而導(dǎo)入;以雙下劃線開(kāi)頭的(__foo)代表類的私有成員;以雙下劃線開(kāi)頭和結(jié)尾的(__foo__)代表python里特殊方法專用的標(biāo)識(shí),如__init__()代表類的構(gòu)造函數(shù)。
在交互模式下運(yùn)行python時(shí),一個(gè)下劃線字符(_)是特殊標(biāo)識(shí)符,它保留了表達(dá)式的最后一個(gè)計(jì)算結(jié)果。
>>> "hello"
'hello'
>>> _
'hello'
>>> 10+10
20
>>> _
20
在python中,函數(shù)、類、模塊定義的第一段代碼如果是字符串的話,就把它叫作文件字串,可通過(guò)__doc__屬性訪問(wèn)。如:
def test():
"this is a document string"
return 100+1000
>>>print test.__doc__
this is a document string
2.保留字
and elif global or yield
assert else if pass
break except import print
class exec in raise
continue finally is return
def for lambda try
del from not while
3.Python運(yùn)算符和表達(dá)式
Python運(yùn)算符列表
運(yùn)算符優(yōu)先順序列表(從最高到最低)
真值表
復(fù)合表達(dá)式
對(duì)于and,當(dāng)計(jì)算a and b時(shí),python會(huì)計(jì)算a,如果a為假,則取a值,如果a為真,則python會(huì)計(jì)算b且整個(gè)表達(dá)式會(huì)取b值。如:
>>> a,b=10,20
>>> a and b #a is true
20
>>> a,b=0,5 #a is false
>>> a and b
0
對(duì)于or,當(dāng)計(jì)算a or b時(shí),python會(huì)計(jì)算a,如果a為真,則整個(gè)表達(dá)式取a值,如果a為假,表達(dá)式將取b值。如:
>>> a,b=10,20
>>> a or b
10
>>> a,b=0,5
>>> a or b
5
對(duì)于not,not將反轉(zhuǎn)表表達(dá)式的“實(shí)際值”,如果表達(dá)式為真,not為返回假,如為表達(dá)式為假,not為返回真。如:
>>> not 2
False
>>> not 0
True
>>> not "test"
False
>>> not ""
True
4.給變量賦值
變量賦值:賦值并不是直接將一個(gè)值賦給一個(gè)變量,在Python中,對(duì)象是通過(guò)引用傳遞的。Python的賦值語(yǔ)句不會(huì)返回值,類似下面的語(yǔ)句是非法的:
>>> x=1
>>> y=(x=x+1)
SyntaxError: invalid syntax
鏈?zhǔn)劫x值沒(méi)有問(wèn)題:
>>> x=1
>>> y=x=x+1
>>> x,y
(2, 2)
Python不支持類似x++或--x這樣的前置/后置自增/自減運(yùn)算
可以多重復(fù)值:
>>> x=y=z=1
>>> x
1
>>> y
1
>>> z
1
可以多元賦值:
>>> x,y,z=1,2,'a string'
>>> x
1
>>> y
2
>>> z
'a string'
通常使用小括號(hào)括起來(lái),增強(qiáng)代碼的可讀性:
>>> (x,y,z)=(1,2,'a string')
>>> x
1
>>> y
2
>>> z
'a string'
使用Python的多元賦值方式可以實(shí)現(xiàn)無(wú)中間變量交換兩變量的值:
>>> #swapping variables in Python
>>> x,y=1,2
>>> x
1
>>> y
2
>>> x,y=y,x
>>> x
2
>>> y
1

