我正在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
任何帮助都会很好
谢谢
理查德
你需要缩进最后一行。你知道吗
应该是
代码的最后一部分是错误的
注意缩进,这在Python中很重要。根据您现在所拥有的,意味着
self.y = self.y * scale
不在scaleSize
方法中,并且您的Shape
类的关键字self
未定义。你知道吗你需要做的是适当地缩进
指示行的缩进级别错误,因此它不在
scaleSize()
方法中。你知道吗相关问题 更多 >
编程相关推荐