我正在尝试编写代码,允许我传入一个在Square类中增加或减少的数字。编译代码时出现以下错误:
AttributeError: 'Square' object has no attribute 'change_size'.
输入的代码:
class Square():
def __init__(self,s1):
self.s1=s1
def calculate_perimeter(self):
return self.s1*4
def change_size(self,new_size):
self.s1+=new_size
a_square= Square(100)
互动:
>>> print(a_square.s1) 100 >>> a_square.change_size(200)
几件事:
1)使用代码格式化块来帮助您提高代码的可读性
2)更改属性大小时删除+=,因为增广赋值运算符会将值添加到现有值中
3)在类中使用属性s1之前先建立它
尝试以下操作:
你上面贴的代码和你的实际代码有相同的缩进吗?如果是这样的话,问题很可能是因为在Python中,缩进确实很重要。即:
不等于
您可以在PEP8 style guide中看到更长的解释和更多的示例。你知道吗
请更改缩进
结果:
如果您有任何问题,请告诉我,我很乐意帮助您。你知道吗
相关问题 更多 >
编程相关推荐