我的代码似乎有什么问题?我遇到了错误。
class Dog():
def __init__(self, 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!")
class Dog():
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.")
答案 0 :(得分:1)
您的问题很简单,就是您要在代码中途重新定义狗类 - class Dog():
只应在您的程序中出现一次。
由于Python从上到下读取代码,并且自第二次class Dog():
出现以来,没有缩进代码,它正确定义顶部的Dog
类,然后将其重新定义为中间是一个空对象,没有参数:因此错误消息的措辞为TypeError: object() takes no parameters
。
只需删除第二个class Dog():
。
以下代码应按预期工作:
class Dog():
def __init__(self, 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.")