我实际上是逐字复制指南。我正在输入这段代码: 对接:
class Dog():
def _init_(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name.title() + " is now sitting")
def roll_over(self):
print(self.name.title() + " rolled over")
my_dog = Dog('willie', 6)
my_dog.sit()
my_dog.roll_over()
然而,而不是得到:"威利已经翻身了#34;我得到了:
Traceback (most recent call last):
File "dog.py", line 10, in <module>
my_dog = Dog('willie', 6)
TypeError: object() takes no parameters
请帮助我....我想知道我做错了什么!
答案 0 :(得分:0)
您必须使用双下划线而不是单下划线。
使用__init__
而不是_init_
来定义方法。
那将解决。
因为__init__
构建了Dog
类的对象,而_init_
则没有。
如创建实例时调用python-docs __init__
中所述
答案 1 :(得分:0)
将_init_
更改为__init__
,然后您的代码就可以正常编译了。详细了解__init__
here