题目:已知Person类,继承Person类生成Teacher类(增加参数:科目)和Student类(增加参数:专业)。

已知Person类如下:

class Person(object):# Person类的构造方法,参数:姓名,年龄,性别def __init__(self,name='',age=20,sex='man'):self.setName(name)self.setAge(age)self.setSex(sex)# setName方法用于设置姓名def setName(self, name):if not isinstance(name, str):print('name must be string.')returnself.__name=name# setAge方法用于设置年龄def setAge(self, age):if not isinstance(age, int):print('age must be integer.')returnself.__age=age# setSex方法用于设置性别def setSex(self, sex):if sex not in ('man', 'woman'):print('sex must be "man" or "woman"')returnself.__sex=sex# show方法用于显示姓名,年龄,性别def show(self):print('Name:', self.__name)print('Age:', self.__age)print('Sex:', self.__sex)

Teacher类继承Person类,新增参数:科目:

class Teacher(Person):# Teacher类的构造方法,参数:姓名,年龄,性别,科目(前三个参数继承自父类)def __init__(self,name='',age=30,sex='man',department='Computer'):super(Teacher,self).__init__(name,age,sex)##or,use another method like:Person.__init__(name,age,sex)self.setDepartment(department)# setDepartment方法用于设置科目def setDepartment(self,department):if not isinstance(department,str):print('department must be a string.')returnself.__department=department# show方法用于显示姓名,年龄,性别,科目def show(self):super(Teacher, self).show()print('Department:',self.__department)

Student类继承Person类,新增参数:专业

class Student(Person):# Student类的构造方法,参数:姓名,年龄,性别,专业(前三个参数继承自父类)def __init__(self,name='',age=30,sex='man',major='Software'):super(Student,self).__init__(name,age,sex)##or,use another method like:Person.__init__(name,age,sex)self.setMajor(major)# setMajor方法用于设置专业def setMajor(self,major):if not isinstance(major,str):print('major must be a string.')returnself.__major=major# show方法用于显示姓名,年龄,性别,专业def show(self):super(Student, self).show()print('Major:',self.__major)

main函数如下:

if __name__ == '__main__':# 父类Person对象zhangsan=Person('zhang San',10,'man')zhangsan.show()# 子类Teacher对象lisi=Teacher('Li Si',30,'woman','Math')lisi.show()# 子类Student对象wangwu=Student('Wang Wu',18,'man','Software')wangwu.show()

Python---已知Person类,继承Person类生成Teacher类(增加参数:科目)和Student类(增加参数:专业)。相关推荐

  1. R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优

    R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优 目录 R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集 ...

  2. 设计一个脉冲发生器,已知系统时钟为50MHz,生成脉冲宽度为1ms,脉冲间隔可调,最大间隔为1s

    设计一个脉冲发生器,已知系统时钟为50MHz,生成脉冲宽度为1ms,脉冲间隔可调,最大间隔为1s Design a pulse generator. The system clock is known ...

  3. python已知两条直角边求斜边,Python实现“已知三角形两个直角边,求斜边”

    用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...

  4. python已知两条直角边求斜边_Python实现已知三角形两直角边,求斜边--思路,伪代码,优化...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. ...

  5. python 已知一个字符,在一个list中找出近似值或相似值, 模糊匹配

    已知一个元素,在一个list中找出相似的元素 使用场景: 已知一个其它来源的字符串, 它有可能是不完全与我数据库中相应的字符串匹配的,因此,我需要将其转为适合我数据库中的字符串 使用场景太绕了, 直接 ...

  6. python已知y求x_当使用python知道X坐标值未知时,如何根据Y坐标获取Path的X坐标

    当我只有一个已知的Y坐标方程,即P = a * b(其中a& b定义的值为0.8,150)和x坐标完全未知时,如何在曲线绘图上得到一个点没有连接x和y的方程(例如:y = mx b; #i没有 ...

  7. python已知某公司有一批销售员工,底薪为2000,员工销售额和提成比例如下

    题目:已知某公司有一批销售员工,底薪为2000,员工销售额和提成比例如下: 1.当销售额小于等于3000时没有提成 2.当3000<销售额<=7000,提成为10% 3.当7000< ...

  8. python已知两边求第三边_探究“已知一个三角形两边及其夹角,求第三边”的问题...

    探究"已知一个三角形两边及其夹角求第三边"的问题 [知识点] 余弦定理. [对应版本章节] 本节课是人民教育出版社出版的高中数学 A 版数学必修 5 第一章"解三角 形& ...

  9. 已知 方程 用 matlab 求表达式,已知自变量,因变量和函数表达式,可以用matlab求出函数表达式中的未知参数吗...

    答:这不是解方程,这是曲线拟合.如果你的已知的dr,R只有一个点,那么你的未知数是有无数个解的. cftool,拟合函数有一个选项是自定义函数. 答:用polyfit函数,即多项式拟合函数 设x=X- ...

  10. python已知Camera及Lidar2到Lidar1外参,求Camera到Lidar2外参

    公式推导: Camra到Lidar1外参:camera_short_extrinsics.yaml 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发.爬虫 ...

最新文章

  1. gbdt 回归 特征重要性 排序_RandomForest、GBDT、XGBoost、lightGBM 原理与区别
  2. react native 的底部导航栏以及跳转页面带参数
  3. 【Python学习系列十】Python机器学习库scikit-learn实现Decision Trees案例
  4. matplotlib的下载和安装方法
  5. java虚拟键盘_web虚拟键盘VirtualKeyboard
  6. python的if语句例句_Python入门之if条件语句
  7. js 数组头部添加_javaScript 为对象型数组创建表格
  8. ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...
  9. vi 编辑意外中断处理办法
  10. nios II--实验2——led软件部分
  11. C#Winform中WebBrowser控件的特性和详细调用方法
  12. SQL Server 2016新特性: 对JSON的支持
  13. 大数据-MaxWell
  14. 年轻人想创业就去干吧,
  15. 硬件基础之继电器互锁工作原理
  16. mysql哨兵模式_redis 哨兵模式集群搭建
  17. VB编程:SelectCase多分支选择结构实例测试生肖运势-13
  18. 电子设计教程3:按键滤波电路
  19. pt、px、rpx、em、rem到底是什么
  20. excel基础操作(1)

热门文章

  1. 零基础学习 Python 之运算符
  2. 全新视角:用变分推断统一理解生成模型(VAE、GAN、AAE、ALI)
  3. 我的第三个网页制作:b、i、s、u、sub、sup标签的使用
  4. windows10安装Oracle提示错误-INS-13001环境不满足最低要求
  5. IPSEC ××× 互通性测试结果(二)
  6. 服务器无法通过系统非页面共享区来进行分配,因为共享区当前是空的解决办法.供参考....
  7. 存储过程同函数的区别
  8. dedecms自定义表单如何添加发布时间功能
  9. Linux开机自启动配置
  10. b. Suffix Zeroes