class Person(object): def __init__(self, name, age): self.name = name self.age = age self.weight = 'weight' def talk(self): print("person is talking....") class Chinese(Person): def __init__(self, name, age, language): Person.__init__(self, name, age) self.language = language print(self.name, self.age, self.weight, self.language) def talk(self): # 子类 重构方法 print('%s is speaking chinese' % self.name) def walk(self): print('is walking...') c = Chinese('bigberg', 22, 'Chinese') c.talk() # 输出 bigberg 22 weight Chinese bigberg is speaking Chinese
时间: 2024-04-26 14:25:24 浏览: 132
这段代码定义了两个类:Person 和 Chinese。Person 类有一个初始化方法,初始化实例的名字、年龄和体重属性,并且有一个 talk() 方法,打印出 "person is talking...."。Chinese 类继承自 Person 类,有一个初始化方法,初始化实例的名字、年龄、语言属性,并且在初始化方法中调用了父类的初始化方法,输出实例的名字、年龄、体重和语言。Chinese 类也有一个 talk() 方法,重构了父类的 talk() 方法,打印出实例的名字和 "is speaking chinese"。Chinese 类还有一个 walk() 方法,打印出 "is walking..."。最后,创建了一个名为 c 的 Chinese 类的实例,调用了它的 talk() 方法,输出了实例的名字和 "is speaking Chinese"。
运行结果如下:
bigberg 22 weight Chinese
bigberg is speaking Chinese
相关问题
查看代码错误:class Person(object): def __init__(self, name, age): self.id = 1 self.name = name self.age = age def doing(self): print(f"{我的学号:self.id,姓名:self.name,年龄:self.age}") new_person = Person("张三", 20) # print(new_person.id) new_person.doing()
这段代码存在一个语法错误,即在 `print` 函数中使用了 f-string,但是 f-string 中的花括号中没有写变量名。应该将 `self.id, self.name, self.age` 加上花括号,代码如下:
```python
class Person(object):
def __init__(self, name, age):
self.id = 1
self.name = name
self.age = age
def doing(self):
print(f"我的学号:{self.id}, 姓名:{self.name}, 年龄:{self.age}")
new_person = Person("张三", 20)
new_person.doing()
```
这样就可以正确地输出 `我的学号:1, 姓名:张三, 年龄:20`。
帮我查看一下错误:class Person(object): def __init__(self,id, name, age): self.id = id self.name = name self.age = age def doing(self): print(f"学号:{self.id},姓名:{self.name},年龄:{self.age}") ok = Person(1,"zhangsan",18) ko=Person(2,"lisi",20) ok.doing()
这段代码存在一个缩进错误,具体来说,在类定义结束之后,应该有一个空行,然后是函数定义,函数定义应该缩进一个层次。修改后的代码如下:
```
class Person(object):
def __init__(self, id, name, age):
self.id = id
self.name = name
self.age = age
def doing(self):
print(f"学号:{self.id}, 姓名:{self.name}, 年龄:{self.age}")
ok = Person(1, "zhangsan", 18)
ko = Person(2, "lisi", 20)
ok.doing()
```
请注意修改后代码中的空格和缩进。
阅读全文