在学习 Python 3 类的时候,有如下程序:
class Dog():def __init__(self,name,age):#初始化属性name和ageself.name = nameself.age = agedef 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.