在Python中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。
我們以自定義一個求絕對值的my_abs函數(shù)為例:
defmy_abs(x):
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。
在Python交互環(huán)境中定義函數(shù)時,注意Python會出現(xiàn)...的提示。函數(shù)定義結(jié)束后需要按兩次回車重新回到>>>提示符下:
>>>defmy_abs(x):
...ifx>=0:
...returnx
...else:
...return-x
...
>>>my_abs(-9)
9
>>>_
如果你已經(jīng)把my_abs()的函數(shù)定義保存為abstest.py文件了,那么,可以在該文件的當(dāng)前目錄下啟動Python解釋器,用fromabstestimportmy_abs來導(dǎo)入my_abs()函數(shù),注意abstest是文件名(不含.py擴(kuò)展名):
>>>fromabstestimportmy_abs
>>>my_abs(-9)
9
>>>_
總結(jié)
定義函數(shù)時,需要確定函數(shù)名和參數(shù)個數(shù);
如果有必要,可以先對參數(shù)的數(shù)據(jù)類型做檢查;
函數(shù)體內(nèi)部可以用return隨時返回函數(shù)結(jié)果;
函數(shù)執(zhí)行完畢也沒有return語句時,自動returnNone。
函數(shù)可以同時返回多個值,但其實就是一個tuple。
以上內(nèi)容為大家介紹了python培訓(xùn)之怎么寫函數(shù),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。