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