介紹
在Python中,定義一個函式要使用def
語句,依次寫出函式名、括號、括號中的引數和冒號:
,然後,在縮排塊中編寫函式體,函式的返回值用return
語句返回,return滿足條件就不再執行下面的語句,也可以用print輸出。1.定義函式
自定義一個年齡段的判斷函式,當輸入的年齡大於等於18返回’adult‘,如果輸入的值是非整形則返回錯誤
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #file:def_age def my_age(x): if not isinstance(x,(int)): raise TypeError('bad operand type') elif x>=18: return ('adult') elif x<7: return ('child') else: return ('young')
2.呼叫自定義函式
有三種呼叫自定義函式的方法
1.如果自定義函式已經儲存成了檔案,
>>> from def_age import my_age >>> my_age(20) 'adult' >>>
在檔案目錄下開啟編譯器,由於自定義函式不是內部函式,需要先匯入函式,注意def_age不需要帶字尾.py
2.在程式碼內部給定值呼叫
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #file:def_age def my_age(x): if not isinstance(x,(int)): raise TypeError('bad operand type') elif x>=18: return ('adult') elif x<7: return ('child') else: return ('young') print(my_age(22))
不需要先匯入函式,直接執行檔案即可,但是這種方法不夠靈活。
3.在程式碼內部先定義變數再呼叫函式
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #file:def_age def my_age(x): if not isinstance(x,(int)): raise TypeError('bad operand type') elif x>=18: return ('adult') elif x<7: return ('child') else: return ('young') age=22 my_age(age)
同樣這種方法不夠靈活
3.建立空函式 空函式也就是函式不包含執行程式碼,用pass作為程式碼塊,pass程式碼什麼都不做;有時候某塊程式碼還沒想好怎麼寫有為了不影響整個程式碼的執行,可以先存pass讓程式碼先跑起來。
def my_dinf():
pass
pass還可以放在其它程式碼中,比如:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #file:def_age def my_age(x): if not isinstance(x,(int)): raise TypeError('bad operand type') elif x>=18: pass elif x<7: return ('child') else: return ('young') age=22 print (my_age(age))
還是剛才的年齡段判斷函式,現在在elif x>=18:程式碼塊下面使用pass,當滿足該條件後什麼都不做,整個程式碼正常執行。
總結
備註: 作者:pursuer.chen 部落格:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。 《歡迎交流討論》 |