函數的作用域與匿名函數
阿新 • • 發佈:2018-12-21
其他 字符串 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)
函數的作用域與匿名函數