我是Python的新手,在运行这个Python类时,我得到了以下错误:
我使用的是PyScripter,运行的是Python3.9(64位)
我创建了一个类加热器,初始化了一个变量temperature,以及一些修改这个变量的函数。
然后我创建了一个对象并使用了函数,然后它给了我一个错误!
class Heater :
temperature = 0
def __init__(self):
temperature = 20
def warmer(self):
temperature += 5
def cooler(self):
temperature -= 5
def display(self):
print ("Temperature is " , self.temperature)
h1 = Heater()
h1.display()
h1.cooler()
h1.display()
h1.warmer()
h1.display()我得到了以下输出,然后是这个错误:
Temperature is 0
Traceback (most recent call last):
File "<module1>", line 30, in <module>
File "<module1>", line 22, in cooler
UnboundLocalError: local variable 'temperature' referenced before assignment我把temperature = 0改成了nonlocal temperature,然后我得到了这个错误:
File "<module1>", line 13
SyntaxError: no binding for nonlocal 'temperature' found发布于 2020-11-26 05:49:46
在查看您的代码之后,我注意到您正在尝试仅使用temperature访问self.temperature。
每个方法接收的第一个参数(self)是对象本身的引用,用于访问对象属性和方法。
https://stackoverflow.com/questions/64958724
复制相似问题