在python中,函式中又有以下幾種函式型別:
1.引用傳遞
2.可變引數,命名引數,萬能引數
3.匿名函式(lambda)
4.閉包
5.遞迴
6.偏函式
7.函式作為引數傳遞
8.函式呼叫全域性變數
9.全域性變數和區域性變數
在引用傳遞中:
引用傳遞,實質是在傳遞記憶體位址
可以看出x因為引用傳遞來被被賦值了6,用y來呼叫,z又呼叫了x
在遞迴傳遞中:
遞迴就是相當與自身呼叫自身的乙個函式
遞迴的兩個必要條件:
1.函式自身呼叫自己
2.要有終止條件(死迴圈)
用乙個遞迴函式來運算1-100的加法
用遞迴函式來完成乙個迴圈:
可以看除用了if語句來完成乙個自身的迴圈,從100一直在遞減,直到遞減到1,
用sum來完成乙個自加,知道迴圈到0,來結束迴圈
匿名函式:
匿名函式是一種lambda表示式
lambda則是一種語言
格式為:
def a()::
print("hello world")
lambda:print(「hello world」)
def add(x,y):
return x + y
lambda x,y: x + y
優點:簡化**書寫
缺點:降低了**的可讀性,增加**的維護成本
用匿名函式做乙個加法的程式:
命名乙個a,b,給a,b賦乙個值即可
python函式是值傳遞還是引用傳遞
在網上看python的基礎知識,看到函式這一章的時候,看到這麼一段話 所有引數 自變數 在python裡都是按引用傳遞。如果你在函式裡修改了引數,那麼在呼叫這個函式的函式裡,原始的引數也被改變了。def changeme mylist 修改傳入的列表 print 函式內取值 mylist retur...
python函式之值傳遞和引用傳遞
在python中值傳遞和引用傳遞的判斷是根據你傳入資料型別而判斷的 如果你傳入的引數物件是可變物件 列表,字典,這個時候就是引用傳遞,如果引數在函式體內被修改,那麼源物件也會被修改。如果你傳入的引數物件是不可變的物件 數字,元組,字串,這個時候就是值傳遞。那麼源物件是不會改變的。其實他們最大的區別就...
python中函式值傳遞與引用傳遞
簡單理解,值傳遞就是在乙個引數傳入到函式中後,函式中對該引數的操作不會影響函式外該引數的變數的值 而引用傳遞,則是引數傳遞進來的相當於記憶體位址,對該引數的操作會直接影響到外部指向其值的變數。python中的變數沒有型別,變數相當於乙個指標,可以指向任何型別的物件,也就是變數引用了某個物件 pyth...