1、创建Person类,属性有姓名、年龄、性别,创建方法personInfo,打印这个人的信息
2、创建Student类,继承Person类,属性有学院college
,班级class,重写父类personInfo方法,调用父类方法打印个人信息外,将学生的学院、班级信息也打印出来,
创建方法study参数为Teacher对象,调用Teacher类的teachObj方法,接收老师教授的知识点,然后打印‘老师xxx,我终于学会了!’xxx为老师的teach方法返回的信息。
重写__str__方法,返回student的信息。
3、创建Teacher类,继承Person类,属性有学院college,专业professional
,重写父类personInfo方法,调用父类方法打印个人信息外,将老师的学院、专业信息也打印出来。
创建teachObj方法,返回信息为‘今天讲了如何用面向对象设计程序’
4、创建三个学生对象,分别打印其详细信息
5、创建一个老师对象,打印其详细信息
6、学生对象调用learn方法
7、将三个学员添加至列表中,通过循环将列表中的对象打印出来,print(Student对象)
class Person: def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def printInfo(self): print('我叫%s,年龄%s,性别%s'%(self.name,self.age,self.sex)) class Student(Person): def __init__(self,name,age,sex,collage,banji): super().__init__(name,age,sex) self.collage=collage self.banji=banji def printInfo(self): print('我叫%s,年龄%s,性别%s,学院%s,班级%s'%(self.name,self.age,self.sex,self.collage,self.banji)) def learn(self,teacher): print('我是%s,老师%s,我终于学会了'%(self.name,teacher.teach())) def addStudent(self): coutent= {} coutent['name']=self.name coutent['age']=self.age coutent['sex']=self.sex coutent['college']=self.collage coutent['banji']=self.banji student.append(coutent) def show_all(): for dict in student: for key in dict.keys(): if key=='name': print('姓名:'+dict[key]) if key=='age': print('年龄:'+dict[key]) if key=='sex': print('性别:'+dict[key]) if key=='college': print('学院:'+dict[key]) if key=='banji': print('班级:'+dict[key]) print('*'*50) def __str__(self): msg='我叫%s,年龄:%s,性别:%s,我是%s的%s班的学生'
return msg class Teacher(Person): def __init__(self,name,age,sex,college,professional): super().__init__(name,age,sex) self.collage=college self.professional=professional def printInfo(self): print('我叫:%s,年龄:%s,性别:%s,我是来自%s的一名%s讲师'%(self.name ,self.age,self.sex,self.collage,self.professional)) def teach(self): return '今天讲了如何面向对象设计程序' student=[] stu1 =Person('张三','18','男') stu2=Person('李四','19','女') student1 =Student('张三','18','男','软件学院','1809') student2 =Student('李四','19','女','软件学院','1809') stu1.printInfo() stu2.printInfo() student1.printInfo() student2.printInfo() teacher=Teacher('王XX','30','男','软件学院','python') teacher.printInfo() student1.learn(teacher) student2.learn(teacher) student1.addStudent() student2.addStudent() Student.show_all()
来自:https://blog.csdn.net/cc576795555/article/details/84203126