1. 程式人生 > >函數的作用域與匿名函數

函數的作用域與匿名函數

其他 字符串 lambda pri 運算 地址 如果 尋找 ()

1.函數作用域:從內到外尋找


def test():
name = ‘Mike‘
def test1():
name = ‘John‘
def test2():
name = ‘Jack‘
print(name)
return test2
return test1
print(test()) #只是打印出test1的內存地址
a = test()
a() # = test()() 運行test1
b = a()
b() # = test()()()運行test2 打印出jack


2.匿名函數:表示方法:lambda 形參:返回值

如果沒有定義變量接收匿名函數,則匿名函數不會被內存處理,無意義

匿名函數形式簡單,能進行的操作比較局限,僅限於數字運算,字符串增減,布爾值的判斷以及多個變量簡單處理等等

匿名函數通常不單獨使用,與其他內置函數一起使用

1 a = lambda x:x**2
2 a1 = a(28)
3 print(a1)
4 b = lambda x:x+我愛你!
5 b1 = b(中國)
6 print(b1)
7 c = lambda x,y,z:(x**2,y+z)
8 c1 = c(12,123,222)  #註意多個變量處理時返回值要用括號括起
9 print(c1)

函數的作用域與匿名函數