2017-05-01 43 views
0

方法簽名中_=None的用途是什麼?方法python方法簽名中_ = None的意義是什麼?

實施例:

def method(_=None): 
    pass 
+1

http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python可能會部分或完全回答這個問題 – Grimmy

+0

請注意''_' '是一個有效的變量名稱。它如何使用更多關於約定,大多數程序員會更好地理解代碼。 – Grimmy

回答

3

_是用於在Python未使用的佔位符變量(和外殼,以及一些其他語言)的常規名稱。


當不是在一個類的上下文(即,限定了功能時而非方法),這將限定與單個可選的(關鍵字)參數的函數(默認爲None ),其名稱表明該參數是故意未使用的(並免除某些靜態檢查工具中未使用變量的警告)。

當定義一個方法其中接受的第一個也是唯一的參數是以這種方式定義的,這實際上變成了窮人的靜態方法。也就是說,這表明self未被使用且是可選的,並且允許獨立於是否有任何對象實例關聯(即,在運行時self是否實際可用)來調用該方法。

請注意,這是而不是常見的習慣用法,並且使用@staticmethod decorator將對您的代碼的讀者更有意義。

相關問題