书里面的代码,为什么报错呢?
class Dog:
def init(self,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.name} years old.")
my_dog=Dog('Willie',6)
TypeError: Dog() takes no arguments
注意类初始化函数init前后各有两个下划线,你应该是只打了一个,所以没被成功识别,所以初始化函数默认为空,通过my_dog = Dog('Willie', 6)构造时,但空的初始化函数无需传参,因此报了类型错误:Dog类不需要参数(进行初始化)
# 初始化是 __init__
class Dog:
def __init__(self,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).sit()
my_dog=Dog('Willie',6).roll_over()