-
在else中,同樣需要冒號;在else的子邏輯分支,同樣需要縮進
查看全部 -
Python之if語句
if判斷的一個子分支需要縮進,在Python規(guī)范中,一般使用4個空格作為縮進
在if語句的最后,有一個冒號
:
,這是條件分支判斷的格式,在最后加入冒號:
,表示接下來是分支代碼塊
查看全部 -
按照位置取字符串的方式使用中括號
[]
訪問在程序的世界中,計數(shù)是從
0
開始的,使用0
來表示第一個我們會想獲取字符串的一部分(子串),這個時候我們采取切片的方式獲取,切片需要在中括號
[]
中填入兩個數(shù)字,中間用冒號分開,表示子串的開始位置和結(jié)束位置,并且這是半閉半開區(qū)間,不包括最后的位置查看全部 -
但是
r'...'
表示法不能表示多行字符串,也不能表示包含'
和?"
的字符串。如果要表示多行字符串,可以用
'''...'''
表示:還可以在多行字符串前面添加
r
,把這個多行字符串也變成一個raw字符串:查看全部 -
\n
表示換行\t
?表示一個制表符\\
表示?\
?字符本身查看全部 -
list可以同時放入任意類型的數(shù)據(jù),因為Python是動態(tài)語言
查看全部 -
在計算
a and b
時,如果 a 是 False,則根據(jù)與運算法則,整個結(jié)果必定為 False,因此返回 a;如果 a 是 True,則整個計算結(jié)果必定取決與 b,因此返回 b。在計算
a or b
時,如果 a 是 True,則根據(jù)或運算法則,整個計算結(jié)果必定為 True,因此返回 a;如果 a 是 False,則整個計算結(jié)果必定取決于 b,因此返回 b。
查看全部 -
0,空字符串和None看成False,其他數(shù)值和非空字符串都看成True
查看全部 -
dict中的元素是無序的,也就是dict中元素的插入順序和打印順序未必一致,比如使用Python3.5之前的版本執(zhí)行以下代碼:
d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49 } print(d)?#?==>?{'Bob':?60,?'Ellena':?49,?'Alice':?45,?'Candy':?75,?'David':?86}
查看全部 -
函數(shù)會把可變參數(shù)當作tuple處理,但是tuple在使用上有局限性。
比如有時候想找到特定位置的參數(shù),只能通過下標的方式去尋找,如果順序發(fā)生變化得時候,下標就會失效,函數(shù)邏輯就得重新修改實現(xiàn)。
Python函數(shù)提供可變關(guān)鍵字參數(shù),對于可變關(guān)鍵字參數(shù),可以通過關(guān)鍵字的名字key找到對應(yīng)的參數(shù)值。
與dict很類似,會把可變關(guān)鍵字參數(shù)當作dict處理。對于可變關(guān)鍵字參數(shù),一般使用**kwargs來表示。
必需參數(shù),默認參數(shù),可變參數(shù),可變關(guān)鍵字參數(shù)的函數(shù)的定義順序
查看全部 -
可變參數(shù):即任意個參數(shù)。通常使用*args來表示。
在使用上,Python會把可變參數(shù)定義為一個tuple,因此在函數(shù)內(nèi)部,將可變參數(shù)視為tuple使用即可。比如可以通過位置下標取出對應(yīng)的元素等。
定義可變參數(shù)的目的也是為了簡化調(diào)用。
查看全部 -
默認參數(shù):當這個參數(shù)沒有傳遞的時候,參數(shù)就使用定義時的默認值。
Python自帶的 int() 函數(shù),其實就有兩個參數(shù),我們既可以傳一個參數(shù),又可以傳兩個參數(shù):
int('123')?#?==>?123 int('123',?8)?#?==>?83
int()函數(shù)的第二個參數(shù)是轉(zhuǎn)換進制base,如果不傳,默認是十進制。(base=10)。如果傳了,就用傳入的參數(shù)。
注意:由于函數(shù)的參數(shù)按從左到右的順序匹配,所以默認參數(shù)只能定義在必需參數(shù)的后面,否則會報錯。
查看全部 -
對函數(shù)入?yún)⑦M行類型的校驗:isinstance()函數(shù),可以判斷參數(shù)類型。它接收兩個參數(shù),第一個是需要判斷的參數(shù),第二個是類型。
有了isinstance,就可以優(yōu)化my_abs函數(shù),不在里面運行出錯了。
查看全部 -
函數(shù)內(nèi)部還可以調(diào)用其他函數(shù)。
如果在一個函數(shù)內(nèi)部調(diào)用其自身,這個函數(shù)就是遞歸函數(shù)。
理論上,所有的遞歸函數(shù)都可以寫成循環(huán)的方式,但循環(huán)的邏輯不如遞歸清晰。
使用低遞歸函數(shù)要注意防止棧溢出。因為計算機中函數(shù)調(diào)用是通過棧實現(xiàn)的,每當進入一個函數(shù)調(diào)用,棧就會加一層棧幀,每當函數(shù)返回,棧就會減一層棧幀。由于棧的大小不是無限的,所以遞歸調(diào)用次數(shù)過多會導(dǎo)致棧溢出。
查看全部 -
有的函數(shù)沒有返回結(jié)果,這個時候從函數(shù)獲取到的是一個空值None。
除了返回None、一個值以外,函數(shù)也可以返回多個值。如果需要返回多個值,多個值之間使用逗號分隔即可,但是需要注意順序。
也可以使用一個值存儲函數(shù)返回的多值結(jié)果。
result?=?data_of_square(16) print(result)?#?==>?(64,?256)
注意打印的result,其實它是tuple類型,如果我們需要取出結(jié)果中的周長或者面積,使用對應(yīng)位置的下標就可以獲得對應(yīng)的結(jié)果。
查看全部
舉報