为什么这会产生undefined name x
?它被声明两次并全局设置。
class Pet():
global x
x = 0
def __init__(self):
global x
x=0
def getX():
global x
print x
答案 0 :(得分:5)
x = 1
class Pet():
global x
x = 0
def __init__(self):
global x
x=0
def getX(self):
print x
你没有给getX一个self
参数,这也给出了一个错误。
我也不知道你要用所有这些全局变量来完成什么。它有点挫败了拥有漂亮,自足的课程的目的。
除非你做了一些奇怪的事情,否则你的代码应该类似于
class Pet:
def __init__(self, x=0):
self.x = x
def __str__(self):
return str(self.x)