2012-04-11 67 views
13

我正在使用pylint更新一些代碼到PEP 8標準。部分代碼拋出了W0612未使用的變量錯誤,但是這是因爲它使用了一個返回(x,y)的模塊,例如在這種特殊情況下只需要x時,這就完成了。如何處理pylint消息:ID:W0612未使用變量

(var_1, var_2) = func() 

def func(): 
    a="a" 
    b="b" 
    return (a,b) 

然後返回var_1,但var_2從不使用,因此會引發錯誤。我該如何處理?我在想這個

var = func()[0] 

什麼是最好的處理方法?

回答

23

我相信,a, dummy = func()是訣竅。 Pylint允許(如果我正確地記得)以_dummy開始的未使用的變量名稱,例如, dummy_index

您可以通過將--dummy-variables-rgx選項傳遞給Pylint來進行配置。這指定了捕獲虛擬變量名稱的正則表達式。

注意:使用_確實會造成混淆(道具:Sven Marnach)。有一個約定,使用單下劃線作爲半私有標識符的前綴,雙下劃線當然是特殊Python方法的前綴,除此之外,還有一個約定gettext()函數_()在需要本地化的程序中,如_("text to translate")

+1

是的,這是完美的'unused_index'沒有工作,'_unused_index'和'_index'做到了。謝謝你的幫助。 – Jacxel 2012-04-11 14:02:06

+1

我推薦使用'dummy'作爲變量名。後者通常會造成不必要的混淆。 – 2012-04-11 14:02:25

+0

@Jacxel我對「未使用」前綴錯了。這就是我曾經用過的代碼庫中所使用的。 Pylint默認爲「啞」或「_」。 – 2012-04-11 14:03:24