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('张三','','男')
stu2=Person('李四','','女')
student1 =Student('张三','','男','软件学院','')
student2 =Student('李四','','女','软件学院','')
stu1.printInfo()
stu2.printInfo() student1.printInfo()
student2.printInfo()
teacher=Teacher('王XX','','男','软件学院','python')
teacher.printInfo() student1.learn(teacher)
student2.learn(teacher) student1.addStudent()
student2.addStudent() Student.show_all()

来自:https://blog.csdn.net/cc576795555/article/details/84203126

python基础练习题7的更多相关文章

  1. python基础练习题1

    深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...

  2. python基础练习题(九九乘法表)

    又把python捡起来了,动手能力偏弱,决定每日一练,把基础打好! ------------------------------------------------------------------ ...

  3. python基础练习题

    购物车程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/3/6 21:01 # @Author : hyang # @Si ...

  4. Python基础 练习题

    DAY .1 1.使用while循环输出 1 2 3 4 5 6     8 9 10 n = 1 while n < 11: if n == 7: pass else: print(n) n ...

  5. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  6. python基础练习题30道

    1.执行python脚本的两种方式 答:1>可以在python /home/xxxx.py 2>cd /home    ./xxxx.py  因为py脚本里面指定了python解释器的位置 ...

  7. 08: python基础练习题

    1.while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 # 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和 s = 0 i = ...

  8. 『Python基础练习题』day02

    1.判断下列逻辑语句的True, False 1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 2) ...

  9. Python学习【day03】- Python基础练习题(列表、元组、字典)

    #!/usr/bin/env python # -*- coding:utf8 -*- # 1.有两个列表 # l1 = [11,22,33] # l2 = [22,33,44] # a.获取内容相同 ...

  10. Python学习【day02】- Python基础练习题

    #!/usr/bin/env python # -*- coding:utf8 -*- # 执行Python 脚本的两种方式 # 答:①在windows的cmd窗口下 > D:/Python/p ...

随机推荐

  1. 阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式

    目前这里能调用是因为,在service的实现类里面,new了一个dao的对象 正常情况下 这里不应该是new一个对象,应该等于null或为空 设置为空侯再运行就会报错 出错的原因是这里为null 需要 ...

  2. 四十三:数据库之SQLAlchemy之group_by和having子句

    group_by:根据某个字段进行分组,比如想要根据年龄进行分组,再统计每一组有多少人having:对查找结果进一步过滤,类似于SQL语句的where 准备工作 from sqlalchemy imp ...

  3. vmware虚拟机设置时区、时间

    首先查看时间发现和百度的时间不一样 [root@www ~]# dateWed Dec 5 14:00:32 CST 2018 1.配置ntp服务器,设置时区同步,请参照ntp篇  https://w ...

  4. 第六次学习总结&&第四次实验总结

    Java实验报告 班级 1班 学号 20188390 姓名 宋志豪 实验四 类的继承 1.实验目的 (1)掌握类的继承方法: (2)变量的继承和覆盖,方法的继承.重载和覆盖实现: 2.实验内容 实验代 ...

  5. 【转帖】联芸Maxio展示国产PCIe SSD主控:速度可达3.5GB/s

    联芸Maxio展示国产PCIe SSD主控:速度可达3.5GB/s https://www.cnbeta.com/articles/tech/855223.htm 国产主控 紫光做国产颗粒 国产器件对 ...

  6. [转帖]IIS7 应用程序池的 托管管道模式与集成模式小结

    IIS7 应用程序池的 托管管道模式与集成模式小结 https://www.jb51.net/article/26311.htm IIS7的一些问题. 关注脚本之家微信公众号(jb51net) 每周都 ...

  7. day 17 模块

    模块是什么? 抖音: 20万行代码全部放在一个py文件中? 为什么不行? 1. 代码太多,读取代码耗时太长. 代码不容易维护. 所以我们怎么样? 一个py文件拆分100文件,100个py文件又有相似相 ...

  8. poj2186--tarjan+缩点(有向图的强连通分量中点的个数)

    题目大意:       每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也 ...

  9. Codeforces 1209F. Koala and Notebook

    传送门 考虑到达某个点时的数长度要尽量短,那么可以把边长看成此边十进制下的位数 那么对于最终答案我们只要考虑最短路 $DAG$ 上的情况 又发现其实边长都很小,所以可以暴力拆边,把边权都拆成 $1$, ...

  10. javascript高级程序设计读书笔记-事件(一)

    读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而 ...