必選參數(shù)
必選參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時的數(shù)量必須和聲明時的一樣。
默認(rèn)參數(shù)
調(diào)用函數(shù)時却特,缺省參數(shù)的值如果沒有傳入,則被認(rèn)為是默認(rèn)值筛圆。
可變參數(shù)-元組
在Python函數(shù)中裂明,還可以定義可變參數(shù)。顧名思義太援,可變參數(shù)就是傳入的參數(shù)個數(shù)是可變的闽晦,可以是1個、2個到任意個提岔,還可以是0個仙蛉。參數(shù)組裝成一個tutple
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
可變參數(shù)-字典
變參數(shù)允許你傳入0個或任意個參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple碱蒙。而關(guān)鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù)荠瘪,這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict。
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
參數(shù)組合
參數(shù)定義的順序必須是:
必選參數(shù)赛惩、默認(rèn)參數(shù)哀墓、可變參數(shù)。
變量作用域介紹
一個程序的所有的變量并不是在哪個位置都可以訪問的喷兼。訪問權(quán)限決定于這個變量是在哪里賦值的篮绰。
變量的作用域決定了在哪一部分程序你可以訪問哪個特定的變量名稱。兩種最基本的變量作用域如下:
1季惯、全局變量
如果一個變量吠各,既能在一個函數(shù)中使用臀突,也能在其他的函數(shù)中使用,這樣的變量就是全局變量走孽。如果要再函數(shù)中修改全局變量惧辈,使用global聲明。
2磕瓷、局部變量
局部變量,就是在函數(shù)內(nèi)部定義的變量不同的函數(shù)念逞,可以定義相同的名字的局部變量困食,但是各用個的不會產(chǎn)生影響。局部變量的作用翎承,為了臨時保存數(shù)據(jù)需要在函數(shù)中定義變量來進(jìn)行存儲硕盹,這就是它的作用。
如果全局變量的名字和局部變量的名字相同叨咖,那么使用的是局部變量瘩例。在函數(shù)外邊定義的變量叫做全局變量
???? 全局變量能夠在所以的函數(shù)中進(jìn)行訪問。如果在函數(shù)中修改全局變量甸各,那么就需要使用global進(jìn)行聲明垛贤。如果全局變量的名字和局部變量的名字相同,那么使用的是局部變量的趣倾,小技巧強(qiáng)龍不壓地頭蛇聘惦。
遞歸函數(shù)
如果一個函數(shù)在內(nèi)部不調(diào)用其它的函數(shù),而是自己本身的話儒恋,這個函數(shù)就是遞歸函數(shù)善绎。
滿足遞歸的條件:
1、有循環(huán)的內(nèi)容
2诫尽、有跳出的條件
3禀酱、遞歸默認(rèn)是有遞歸深度要求的。
匿名函數(shù)
?? 1牧嫉、用lambda關(guān)鍵詞能創(chuàng)建小型匿名函數(shù)剂跟。這種函數(shù)得名于省略了用def聲明函數(shù)的標(biāo)準(zhǔn)步驟。
2驹止、?? lambda函數(shù)的語法只包含一個語句浩聋,如下:
lambda [arg1 [,arg2,.....argn]]:expression
注意:Lambda函數(shù)能接收任何數(shù)量的參數(shù)但只能返回一個表達(dá)式的值