Dmi*_*aev 17 python oop static-methods static-variables
我想从静态方法访问静态变量:
#!/usr/bin/env python
class Messenger:
name = "world"
@staticmethod
def get_msg(grrrr):
return "hello " + grrrr.name
print Messenger.get_msg(Messenger)
Run Code Online (Sandbox Code Playgroud)
没有传递grrrr
给方法怎么做?这是真正的OOP吗?
任何喜欢name
或self.name
似乎不起作用的东西:
NameError: global name 'name' is not defined
Run Code Online (Sandbox Code Playgroud)
和
NameError: global name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)
Ioa*_*ucu 12
def get_msg():
return "hello " + Messenger.name
Run Code Online (Sandbox Code Playgroud)
您不能使用self.name,因为未定义self.self是非静态方法或非类方法方法的第一个参数的命名约定.它指向您调用该方法的对象.由于您的方法是静态的,因此您不需要对象来调用它.