【发布时间】:2019-11-25 21:37:19
【问题描述】:
从 Python 类中的常规实例方法访问静态方法时,有 2 个不同的选项似乎都可以工作 - 通过self 对象访问,以及通过类名本身访问,例如
class Foo:
def __init__(self, x: int):
self.x = x
@staticmethod
def div_2(x: int):
return x / 2
def option_1(self):
return Foo.div_2(self.x)
def option_2(self):
return self.div_2(self.x)
是否有任何理由偏爱一种方式而不是另一种方式?
【问题讨论】:
-
我这样做的方法是在另一个方法中使用 self.div_2 并从类外部使用 Foo.div_2。
标签: python class oop static-methods