在PyCharm中,我使用的IDE,每当你声明一个不使用self
变量的方法时,它会给你警告“方法'method_name'可能是'静态'”。
我多次遇到这个警告,而且大部分时间我都忽略了它。但是我想知道是否有传统或pythonic方式来处理它。
所以基本上,我的问题是当我遇到这个时我该怎么办?我应该忽略它吗?我应该用静态方法(@staticmethod
)替换它吗?
提前致谢。
答案 0 :(得分:3)
它提示说该方法可以是静态方法,因为它不作用于实例(即,您正在传入self
但实际上并没有使用它。)
没有传统的方法来处理它 - 你要么想要那个方法,因为你正在创建一个类树并希望它在后代中被定义/覆盖;或者出于其他原因。在这种情况下,您可以忽略该警告。
这与@staticmethod
完全不同;这有很多其他后果。所以它不是"如果我不使用自我,而是将其传入,那么就让它成为一种静态方法&#34 ;;你必须知道方法在做什么。
静态和类方法最常用于工厂类。