三.Python函數
阿新 • • 發佈:2018-02-16
**kwargs 使用 重復 聲明 局部變量 cal 能夠 子程序 可擴展
定義: 函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名即可
def func(x,y): calc=x+y return calc z=func(1,2) print(z)
特性:
- 減少重復代碼
- 使程序變的可擴展
- 使程序變得易維護
參數
默認參數
調用函數時,如果沒有傳遞參數,則會使用默認參數。以下實例中如果沒有傳入 age 參數,則使用默認值:
def test(x,y,z=2): print(x) print(y) print(z) test(2,4)
關鍵字參數
關鍵字參數和函數調用關系緊密,函數調用使用關鍵字參數來確定傳入的參數值。
使用關鍵字參數允許函數調用時參數的順序與聲明時不一致,因為 Python 解釋器能夠用參數名匹配參數值。
關鍵參數必須放在位置參數之後。
def printinfo( name, age ): print ("名字: ", name) print ("年齡: ", age) printinfo( age=18, name="zz" )
非固定參數
處理比當初聲明時更多的參數
def studentinfo(name,age,*args): # *args 會把多傳入的參數變成一個元組形式 print(name,age,args) studentinfo("zz",22,"CN","Python") def studentinfo2(name,age,*args,**kwargs): # **kwargs 會把多傳入的參數變成一個dict形式 print(name,age,args,kwargs) studentinfo2("zz",22,"CN","Python",sex="male")
全局變量與局部變量
在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。 全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。 當全局變量與局部變量同名時: 在定義局部變量的子程序內,局部變量起作用;在其它地方全局變量起作用。score=59 defyour_score(score): print(score) score=60 print(score) your_score(score) print(score)
三.Python函數