我想通过静态方法访问静态变量:
#!/usr/bin/env python
class Messenger:
name = "world"
@staticmethod
def get_msg(grrrr):
return "hello " + grrrr.name
print Messenger.get_msg(Messenger)
如何在不将 grrrr
传递给方法的情况下做到这一点?这是真正的 OOP 吗?..
name
或 self.name
之类的东西似乎都不起作用:
NameError: global name 'name' is not defined
和
NameError: global name 'self' is not defined
最佳答案
使用 @classmethod
代替 @staticmethod
。刚写完问题就找到了。
在许多语言(C++、Java 等)中,“静态”和“类”方法是同义词。 Not in Python.
关于python - 从静态方法访问静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233729/