我有一个类,我想从静态方法中引用self
。有办法做到这一点吗?
class User(object):
email = "username"
password = "********"
@staticmethod
def all():
return {"ex": self.password}
print(User.all())
这样做的方法是用一个类方法代替。它的工作方式是,第一个参数是类本身,您可以使用点操作符访问变量。
例如:class User(object):
email = "username"
password = "********"
@classmethod
def all(cls):
return {"ex": cls.password}
print(User.all())
https://docs.python.org/2/library/functions.html classmethod
没有。
staticmethod
的要点是它既不需要实例(self
)也不需要类(通常称为cls
)信息来完成它的工作。
如果你的staticmethod
需要self
,那么它就不是staticmethod
,你应该正常定义它