[英]How to handle the pylint message: Warning: Method could be a function
我有一個python類並對它運行pylint。 它給出的一條信息是:
Warning: Method could be a function
這是否告訴我,將此方法移出類是更好的,因為它不使用任何實例變量?
在C#中,我會將其設為靜態方法。 在這里做什么最蟒蛇的事情?
將它移動到函數是很常見的,如果它根本不觸及類。
如果它操縱類屬性,請使用classmethod
裝飾器:
@classmethod
def spam(cls, ...):
# cls is the class, you can use it to get class attributes
classmethod
和staticmethod
(與前者相同,除了該方法沒有從第一個參數獲得對類的引用)最近才被引入。 這意味着一些Python程序員用於避免靜態和類方法。
一些鐵桿Python程序員會告訴你,這些裝飾器只會使事情復雜化; 其他一些人(通常是前C#或Java程序員)會告訴你,使用一個函數不是面向對象的。 我認為這只是一個偏好問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.