class Student(Person): def __init__(self, college, name, age, sex): super().__init__(name, age, sex) self.college=college self.class=class def personInfo(self): super().personInfo() print("学院:",self.college,
时间: 2024-01-28 15:05:06 浏览: 37
class Student(Person):
def __init__(self, college, name, age, sex, class_name):
super().__init__(name, age, sex)
self.college = college
self.class_name = class_name
def studentInfo(self):
print("姓名:", self.name, "年龄:", self.age, "性别:", self.sex, "学院:", self.college, "班级:", self.class_name)
def personInfo(self):
super().personInfo()
print("学院:", self.college, "班级:", self.class_name)
# 示例调用
s1 = Student("清华大学", "张三", 20, "男", "计算机科学与技术1班")
s1.personInfo()
s1.studentInfo()
相关问题
class Person: def __init__ (self,name,age,sex): self.name=name self.age=age self.sex=sex def personInfo(self): print("姓名:",self.name,"年龄:",self.age,"性别:",self.sex) class Student(Person): def __init__(se请帮我修改完善代码
class Person:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def personInfo(self):
print("姓名:", self.name, "年龄:", self.age, "性别:", self.sex)
class Student(Person):
def __init__(self, name, age, sex, school):
super().__init__(name, age, sex)
self.school = school
def studentInfo(self):
print("姓名:", self.name, "年龄:", self.age, "性别:", self.sex, "学校:", self.school)
# 示例调用
p1 = Person("张三", 20, "男")
p1.personInfo()
s1 = Student("李四", 18, "女", "清华大学")
s1.personInfo()
s1.studentInfo()
from objprint import op class Animal: def __init__(self,age): self.age = age class Person(Animal): def __init__(self, age,name): super().__init__(age) self.name = name class Male(Person): def __init__(self, age, name): super(Person,self).__init__(age) self.gender = "male" m = Male(32,"Peter") super(Male,m).__init__(32,"Peter") op(m)
这段代码也存在语法错误。在Male类中,应该使用super().__init__(age, name)来调用父类Person的构造函数,而不是使用super(Person, self).__init__(age)。同时,在Male类中,应该先调用父类的构造函数,然后再添加gender属性,否则会出现AttributeError异常。在修正这些问题之后,代码应该如下所示:
```python
from objprint import op
class Animal:
def __init__(self, age):
self.age = age
class Person(Animal):
def __init__(self, age, name):
super().__init__(age)
self.name = name
class Male(Person):
def __init__(self, age, name):
super().__init__(age, name)
self.gender = "male"
m = Male(32, "Peter")
super(Male, m).__init__(32, "Peter")
op(m)
```
这样,代码就不会出现语法错误,并且能够正常运行。注意,这里在最后一行代码中使用了op(m)来输出对象m的属性和方法,需要确保已经安装了objprint模块才能够使用op函数。