2017-08-31 98 views

回答

2

沒有區別。函數是第一類對象,可以像任何其他對象一樣綁定到名稱。 名稱在Python中有作用域。


A def語句類似於賦值語句;它創建一個函數對象,然後將一個名稱綁定到該分配。例如,以下是很相似:

def foo(): 
    return 3 

foo = lambda: 3 

def不是必不可少的,不過,因爲沒有辦法單獨使用表達式來定義任意的函數。 (lambda表達式的主體本身必須是單個表達式,而def語句的主體可以是任意語句列表。)

+2

** TL; DR **:** _ names _ **具有作用域,而不是_objects_。 –