我正在通过在线教程运行 http://www.sthurlow.com/python/lesson08/我相信我了解类在 python 中的工作方式,至少在某种程度上是这样,但是当我运行这段代码时:
class Shape:
def __init__(self,x,y):
self.x = x
self.y = y
description = "This shape has not been described yet"
author = "Nobody has claimed to make this shape yet"
def area(self):
return self.x * self.y
def perimeter(self):
return 2 * self.x + 2 * self.y
def describe(self,text):
self.description = text
def authorName(self,text):
self.author = text
def scaleSize(self,scale):
self.x = self.x * scale
self.y = self.y * scale
我收到这个错误:
Traceback (most recent call last):
File "Y:/python/Shape.py", line 1, in -toplevel-
class Shape:
File "Y:/python/Shape.py", line 17, in Shape
self.y = self.y * scale
NameError: name 'self' is not defined
任何帮助都会很棒
谢谢
理查德
请您参考如下方法:
您需要缩进最后一行。
def scaleSize(self,scale):
self.x = self.x * scale
self.y = self.y * scale
应该是
def scaleSize(self,scale):
self.x = self.x * scale
self.y = self.y * scale
