函式 匿名函式 閉包 物件 當做實參時有什麼區別

2021-10-06 21:43:46 字數 563 閱讀 5741

1.匿名函式能夠完成基本的簡單功能,傳遞的是這個函式的引用,只有功能;

2.普通函式能夠完成較為複雜的功能,傳遞的是這個函式的引用,只有功能;

3.閉包能過夠實現較為複雜的功能,傳遞的是這個閉包中的函式以及資料,因此傳遞的是功能+資料;

4.物件能夠實現最為複雜的功能,傳遞的是很多資料+很多功能,因此傳遞的是功能+資料

修改閉包外面的函式

x = 300

def test1():

x = 200

def text2():

# nonlocal x # 修改閉包外面函式的變數 x = 200

# global x # 全域性變數進行修改 x = 300

# 不寫,1無法執行

print('-----1------x = %d' % x)

x = 100

print('-----2------x = %d' % x)

return text2

t1 = test1()

t1()

函式 匿名函式 閉包 物件當做實參時,有什麼區別?

匿名函式 lambda num1,num2 num1 num2 sum lambda num1,num2 num1 num2 sum 10,20 閉包 def line k,b def create y x print k x b line 1 line 1,2 呼叫 line 1 0 1.匿名函式...

閉包 匿名函式 函式宣告

1 簡單的描述閉包 如果在函式func內部宣告函式inner,然後在函式外部呼叫inner,這個過程即產生了乙個閉包。1 閉包是指 有權訪問另乙個函式作用域中的變數的函式。2 閉包與變數 作用域鏈引出的乙個 閉包只能取得包含函式中任何變數的最後乙個值。閉包所儲存的是整個變數物件,而不是某個特殊的變數...

匿名函式與閉包

function box alert box leefunction var box function alert box lee function var box function alert box leealert function function age 100 函式裡面放匿名函式 形成閉...