Python函式的引用傳遞 遞迴傳遞和匿名函式

2021-09-27 04:34:37 字數 1256 閱讀 5560

在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...