这只是为了我自己的熏陶。我正在学习 python 并已使用 python 进入 OOP。我见过的类中方法的每个示例都将“self”作为第一个参数。所有方法都是这样吗?如果是真的,难道不能编写 python 以使这个论点被理解,因此不需要?谢谢。
问问题
7591 次
2 回答
20
如果您想要一个不需要访问的方法self
,请使用staticmethod
:
class C(object):
def my_regular_method(self, foo, bar):
pass
@staticmethod
def my_static_method(foo, bar):
pass
c = C()
c.my_regular_method(1, 2)
c.my_static_method(1, 2)
如果您想访问类,而不是实例,请使用classmethod
:
class C(object):
@classmethod
def my_class_method(cls, foo, bar):
pass
c.my_class_method(1, 2)
于 2013-01-14T22:23:43.103 回答
3
静态方法不需要 self ,它们在类上操作
在这里看到一个很好的静态解释: Python中的静态类变量
于 2013-01-14T22:22:17.220 回答