当我尝试在方法中使用x时,会产生错误,说''x'未定义“
class main:
x=20
def __init__(self):
pass
def func(self):
z=x+10
print(z)
obj1=main()
obj1.func()
答案 0 :(得分:3)
您可以通过self
:
class main:
x=20
def __init__(self):
pass
def func(self):
z=self.x+10
print(z)
obj1=main()
obj1.func()
或通过self.__class__
class main:
x=20
def __init__(self):
pass
def func(self):
z=self.__class__.x+10
print(z)
obj1=main()
obj1.func()
或通过班级名称:
class main:
x=20
def __init__(self):
pass
def func(self):
z=main.x+10
print(z)
obj1=main()
obj1.func()
答案 1 :(得分:0)
class main:
x=20
def __init__(self):
pass
def func(self):
z=self.x+10
print(z)
obj1=main()
obj1.func()
我总是喜欢代码如下,在构造函数方法中初始化值。
class main:
def __init__(self):
self.x = 20
def func(self):
z=self.x+10
print(z)
obj1=main()
obj1.func()
答案 2 :(得分:0)
将第一行func更改为
z = self.x + 10