[英]What is the difference between Pass and None in Python
我個人想知道使用Pass和None之間的語義差異。 我無法找到任何執行上的差異。
PS:我無法在SO中找到任何類似的問題。 如果您找到一個,請指出。
謝謝!
簡單來說, None
是可以分配給表示空虛的變量的值。 它可以作為默認狀態使用:
a = None
def f():
a = 5
f()
pass
是一個像nop的聲明。 在定義函數存根時,它非常有用,例如:
def f():
pass
在類C語言中,您可以通過簡單地在大括號void f() { }
之間放置任何內容來定義空函數,但由於Python使用縮進而不是大括號來定義塊,所以必須在主體中放置一些東西 ,然后pass
是放在那里的慣用之物。
pass
和None
之間的絕對差異
pass
(沒有大寫P) :
因為python是縮進基本語言,所以如果你定義一個新方法,那么你應該有一些代碼。
def method_a():
some_thing = 1 # Have to do some thing
如果沒有,則應該引發異常,以便您可以使用pass
關鍵字來解決此問題。
def method_a():
pass # Do nothing
None
:
如此非常不同, None
關鍵字與來自另一種語言(如Java或C)的null
關鍵字略微相同。可能是空數據或不分配這樣的數據。
[] == None
null == None
() == None
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.