Python 3 报错 TypeError: object() takes no parameters【新手必过坑之一】

在学习 Python 3 类的时候,有如下程序:

class Dog():
    def __init__(self,name,age):
        #初始化属性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)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")

新手在编写的时候容易出现报错:TypeError: object() takes no parameters,原因主要有以下两点:

  • 注意 def __init__,init 左右分别是两个下划线,而不是一个下划线
  • 把 init 误写为 int

改正后程序正确运行,输出结果如下:

My dog's name is Willie.
My dog is 6 years old.
posted @ 2018-11-09 16:44  TRHX  阅读(310)  评论(0编辑  收藏  举报