Skip to main content
 首页 » 编程设计

python之写类错误

2025年05月04日9zhenyulu

我正在通过在线教程运行 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