指南中Python的简单类错误

时间:2017-08-08 19:24:23

标签: python

我实际上是逐字复制指南。我正在输入这段代码: 对接:

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

请帮助我....我想知道我做错了什么!

2 个答案:

答案 0 :(得分:0)

您必须使用双下划线而不是单下划线。 使用__init__而不是_init_来定义方法。

那将解决。

因为__init__构建了Dog类的对象,而_init_则没有。 如创建实例时调用python-docs __init__中所述

答案 1 :(得分:0)

_init_更改为__init__,然后您的代码就可以正常编译了。详细了解__init__ here