我有这段代码,但是当我尝试使用重新定义的str函数时,它不会打印任何内容,更重要的是,已定义的名为“ cuadrant”的函数无法正常工作,因为它不是根据python定义的,但它是:
class Point: def __init__(self, x = 0, y = 0): self.x = x self.y = y print('The point ({},{}) has been created'.format(self.x, self.y)) def __del__(self): print('The point ({},{}) has been deleted or overwritten'.format(self.x, self.y)) def __str__(self): return '({},{})'.format(self.x, self.y) def cuadrant(self): if self.x > 0 and self.y > 0: return '1st Cuadrant' elif self.x < 0 and self.y > 0: return '2nd Cuadrant' elif self.x < 0 and self.y < 0: return '3rd Cuadrant' elif self.x >0 and self.y < 0: return '4th Cuadrant' else: return 'Original Point' A = Point(4, 5) B = Point(8, 9) str(A) str(B) cuadrant(A) cuadrant(B)
我收到的错误消息是这个:
runfile('C:/Users/Jorge87/Desktop/Master Tema 1.5/prueba.py', wdir='C:/Users/Jorge87/Desktop/Master
Tema 1.5')
The point (4,5) has been created
The point (8,9) has been created
Traceback (most recent call last):
File "<ipython-input-9-16e5df591861>", line 1, in <module>
runfile('C:/Users/Jorge87/Desktop/Master Tema 1.5/prueba.py', wdir='C:/Users/Jorge87/Desktop/Master
Tema 1.5')
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line
827, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line
110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Jorge87/Desktop/Master Tema 1.5/prueba.py", line 38, in <module>
cuadrant(A)
NameError: name 'cuadrant' is not defined
我有这段代码,但是当我尝试使用重新定义的str函数时,它不会打印任何内容,更重要的是,已定义的名为“ cuadrant”的函数无法正常工作,因为它没有根据进行定义。 ..
似乎您误解了[[方法