class Dog():
"""一次模拟小狗的简单尝试"""
def _init_(self,name,age):
"""初始化属性name和age"""
self.name=name
self.age=age
def sit(self):
"""模拟小狗被命令时蹲下"""
print(self.name.title()+" is not sitting.")
def roll_over(self):
"""模拟小狗被命令时打滚"""
print(self.name.title()+" roll 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.")
从书上找的一个例子,运行报错
Traceback (most recent call last):
File "dog.py", line 20, in <module>
my_dog = Dog('willie',6)
TypeError: object() takes no parameters
------------------
(program exited with code: 1)
请按任意键继续. . .
原因是init左右两侧是两个下划线,改成__self__之后,运行结果为
My dog's name is Willie
My dog is 6 years old.