class Dog:
"""一次模拟小狗的简单尝试"""
def _init_(self,name,age):#一定要注意init两边各有2个下划线
"""初始化属性name和age"""
self.name=name
self.age=age
def sit(self):
"""模拟小狗收到命令时蹲下"""
print(f"{self.name} is now sitting.")
def roll_over(self):
"""模拟小狗收到命令时打滚"""
print(f"{self.name} rolled over!")
my_dog=Dog('Willie',6)
print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")
运行结果:
Traceback (most recent call last):
File "E:\python_work\dog.py", line 16, in <module>
my_dog=Dog('Willie',6)
TypeError: Dog() takes no arguments
出现上述错误的原因就是 def _init_(self,name,age): 中init只加了一个下划线,务必确保init两边一定要各有2个下划线,这样使用类来创建实例时,Python才回自动运行这个方法。