如何修复AttributeError:RandomWalk类对象无指定属性问题
解决Python类实例访问属性时的AttributeError问题
嘿,这个问题其实是个很容易踩的小坑——你定义的___init___方法下划线数量错啦!
Python里的构造函数必须是前后各两个下划线的__init__,但你写成了前后各三个下划线(___init___)。因为这个小错误,Python根本没把这个方法当成类的构造函数来执行,所以当你创建RandomWalk实例的时候,那些属性points、x_values、y_values根本就没被初始化,自然访问的时候就会抛出AttributeError了。
把下划线改对就没问题了,修正后的代码如下:
class RandomWalk(): def __init__(self, points = 10): """initialize attributes of a walk""" self.points = points self.x_values = [0] self.y_values = [0] rw = RandomWalk() print(rw.points)
现在运行代码,就能正常输出默认值10啦。另外提醒一下,Python里所有的特殊方法(比如__str__、__len__这类)都是前后各两个下划线,以后写的时候多注意一下就行~
内容的提问来源于stack exchange,提问作者Tieu Truc
相关产品推荐
相关产品推荐

