我有一堂课;在其构造函数中正在分配变量。
我想从此类内部的函数中调用此变量,这是一种静态方法。我似乎找不到正确的方法。
class myclass:
def __init__(self):
myvariable = os.cwd()
@staticmethod
def myfunction(someparameter)
print(myclass.myvariable)
print(someparameter)
当我从python运行类时,出现错误消息myvariable
不存在
mytestclass = myclass
myclass.myfunction("foo")
我尝试同时使用self.myvariable
和myvariable
,但没有任何区别。我没有使用@classmethod
,因为如果我叫cls.myvariable
,我将不会得到该myclass的特定实例。如果我有多个实例,我可能会遇到问题。
答案 0 :(得分:0)
myVariable在这种情况下只是一个临时变量,它仅在__init__
方法中可见,甚至在该类的其他方法中也不可见。您也可以在__init__
方法中使用myclass.myvariable。
您可以执行以下操作。我还添加了一个实例计数器:
class myclass:
counter= 0
def __init__(self):
myclass.myvariable = os.cwd()
myclass.counter+= 1
@staticmethod
def myfunction(someparameter):
print(myclass.myvariable)
print(myclass.counter)
print(someparameter)