函數(shù)
數(shù)據(jù)類型轉(zhuǎn)換
>>>int(12.34)
12
函數(shù)名其實(shí)就是指向一個(gè)函數(shù)對(duì)象的引用,完全可以把函數(shù)名賦給一個(gè)變量,相當(dāng)于給這個(gè)函數(shù)起了一個(gè)“別名”:
>>>a=abs#變量a指向abs函數(shù)
>>>a(-1)#所以也可以通過a調(diào)用abs函數(shù)
1
△定義函數(shù)
在Python中,定義一個(gè)函數(shù)要使用def語句,依次寫出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào):,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。
我們以自定義一個(gè)求絕對(duì)值的my_abs函數(shù)為例:
defmy_abs(x):
ifnotisinstance(x,(int,float)):
raiseTypeError('badoperandtype')
ifx>=0:
returnx
else:
return-x
請(qǐng)注意,函數(shù)體內(nèi)部的語句在執(zhí)行時(shí),一旦執(zhí)行到return時(shí),函數(shù)就執(zhí)行完畢,并將結(jié)果返回。因此,函數(shù)內(nèi)部通過條件判斷和循環(huán)可以實(shí)現(xiàn)非常復(fù)雜的邏輯。
如果沒有return語句,函數(shù)執(zhí)行完畢后也會(huì)返回結(jié)果,只是結(jié)果為None。returnNone可以簡(jiǎn)寫為return。
空函數(shù)
如果想定義一個(gè)什么事也不做的空函數(shù),可以用pass語句:
defnop():
pass
pass語句什么都不做,那有什么用?實(shí)際上pass可以用來作為占位符,比如現(xiàn)在還沒想好怎么寫函數(shù)的代碼,就可以先放一個(gè)pass,讓代碼能運(yùn)行起來。
小結(jié)
定義函數(shù)時(shí),需要確定函數(shù)名和參數(shù)個(gè)數(shù);
如果有必要,可以先對(duì)參數(shù)的數(shù)據(jù)類型做檢查;
函數(shù)體內(nèi)部可以用return隨時(shí)返回函數(shù)結(jié)果;
函數(shù)執(zhí)行完畢也沒有return語句時(shí),自動(dòng)returnNone。
函數(shù)可以同時(shí)返回多個(gè)值,但其實(shí)就是一個(gè)tuple。
以上內(nèi)容為大家介紹了python函數(shù)的定義,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。