1.1 自定义人类(Person)

需求:

  • 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country)
  • 包括方法:
    • 吃饭(eat)

      • xx要吃饭…
    • 睡觉(sleep)
      • xx要睡觉…
    • 工作(work)
      • xx要工作…
  • 打印对象,能打印出对象身上的所有属性值

在Python中,继承体现类与类之间的关联关系,如果一个类A里面的属性和方法被一个类B继承,那么类A就是基类,也叫作父类,类B就是派生类,也叫子类

class Person(object):def__init__(self,name,sex,age,country)self.name = nameself.sex =sexself.age = ageself.country = countrydef eat(self):print("%s要吃饭"% self.name)def sleep(self):print("%s要睡觉"% self.name)def work(self):print("%s要睡觉"% self.name)def __str__(self):return "名字:%s 性别:%s 年龄:%s,国籍:%s"%(self.name,self.sex,self.age,self.country)
p=Perseon("小王","男",19,"中国")
print(p)

1.2 自定义学生类(Student)

需求:

  • 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country) 、学校(school_name)、学号(no)
  • 包括方法:
    • 吃饭(eat)

      • xx要吃饭…
    • 睡觉(sleep)
      • xx要睡觉…
    • 工作(work)
      • xx要学习…
  • 打印对象,能打印出对象身上的所有属性值

Person作为父类,Student是它的子类,继承了所有Person的属性和方法
子类继承了多个父类,如果父类类名修改了,那么子类也要涉及多次修改。而且需要重复写多次调用,显得代码臃肿。
使用super() 可以逐一调用所有的父类方法,并且只执行一次。

Class Student(Person):def __init__(self,name,sex,age,country,school_name,no):super().__init__(name,sex,age,country)self.school_name = school_nameself.no = nodef work(slef):print("%s要学习"%self.name)def __str__(self):ret = super()__str__():return"%s 学校:%s 学号:%s"%(ret,self.school.name,self.no)
s = Student("小王", "男", 20, "中国", "社会大学", "001")
s.work()
print(s)

注意:如果继承了多个父类,且父类都有同名方法,则默认只执行第一个父类的(同名方法只执行一次,目前super()不支持执行多个父类的同名方法)
super() 在Python2.3之后才有的机制,用于通常单继承的多层继承。

1.3 自定义工人类(Worker)

需求:

  • 包括属性:姓名(name)、性别(sex)、年龄(age)、国籍(country) 、单位(company)、工龄(work_age)
  • 包括方法:
    • 吃饭(eat)

      • xx要吃饭…
    • 睡觉(sleep)
      • xx要睡觉…
    • 工作(work)
      • xx要炼钢…
  • 打印对象,能打印出对象身上的所有属性值

“”"

与1.2需求相似,注意继承性

class Woker(Person):def __init__(self, name, sex, age, country, company, work_age):spuer(Woker,self).__init__(name,sex,age,country)self.company = companyself.work_age = work_agedef work(self):print("%s要炼钢"% self.name)def __str__(self):ret = super().__str__(ret,company,work_age)return"%s 公司:%s 工龄:%s"%(ret,self.company,work_age)
w = Worker("老李", "男", "38", "中国", "颜艺公司", 10)
w.work()
print(w)

零基础小白学Python之多继承习题演练相关推荐

  1. 零基础小白学python之【贝壳房价爬取】(一)

    学习用python写爬虫有几天了,下面写一个小爬虫验证下学习成果吧. 本文适合小白食用,各位大佬您就图个乐~ Tip:本文仅供学习与交流,切勿用于非法用途!!! 一.网页分析 爬取贝壳网石家庄二手房信 ...

  2. 零基础可以学python吗-零基础适合学Python吗?小白能否学会Python?

    原标题:零基础适合学Python吗?小白能否学会Python? 我没学过编程,能否学会Python? 肯定的回答您:完全能学会 其实,很多个程序员都是从不会到会,每种知识也是从基础到复杂,大家都是从零 ...

  3. 零基础适合学python吗-零基础适合学Python吗?小白能否学会Python?

    原标题:零基础适合学Python吗?小白能否学会Python? 我没学过编程,能否学会Python? 肯定的回答您:完全能学会 其实,很多个程序员都是从不会到会,每种知识也是从基础到复杂,大家都是从零 ...

  4. 0基础小白学python好学吗-零基础适合学Python吗?小白能否学会Python?

    原标题:零基础适合学Python吗?小白能否学会Python? 我没学过编程,能否学会Python? 肯定的回答您:完全能学会 其实,很多个程序员都是从不会到会,每种知识也是从基础到复杂,大家都是从零 ...

  5. 触动精灵 python,[触动精灵]零基础小白学触动5-8

    零基础小白学触动 - 05 - 触动常用函数 点击 滑动 原理 其实都可以分解成按下=> 等待一定时间或者移动动作=>  松开 ?如何实现精确滑动  https://zimaoxy.com ...

  6. 零基础可以学python吗-Python编程语言好学吗?零基础转行能学Python吗?

    Python编程语言好学吗?零基础转行能学Python吗?人工智能时代的来临催生了很多新兴行业,Python是最具代表性也是比较热门的技术之一.有人看好Python入门简单.功能强大的特性,选择转行从 ...

  7. python语言自学-零基础小白学习Python编程语言的正确姿势(纯干货)

    原标题:零基础小白学习Python编程语言的正确姿势(纯干货) 敢问有哪种编程语言集简洁.优雅.简单.全能于一身?Python绝对算的上是一个.举个例子,比如完成同一个任务,C语言需要写1000行代码 ...

  8. 零基础轻松学python pdf 小码哥_零基础轻松学Python

    零基础轻松学Python电子书 Python之父Guido van Rossum力荐的Python门书.本书以通俗易懂的语言.好玩有趣的案例让读者轻轻松松.循序渐地从零始掌握Python 3 编程.本 ...

  9. 零基础可以学python么

    零基础自然是可以学习python的,Python具有简单.易学.免费.开源.可移植.可扩展.面向对象等优点,斩获无数程序员的喜爱,也有了"人生苦短,我选Python"的名言. 近几 ...

最新文章

  1. DO YOU WANNA BUILD A SNOW MAN ?
  2. 深度优先搜索(DFS)相关习题
  3. 【MySQL】MySQL drop,truncate,delete 区别
  4. Java 多态的特性和概念
  5. php sockets有什么用,PHP中Sockets与流有什么关系啊!!!!!
  6. mat格式数据集转换为arff与txt格式
  7. python turtle绘图
  8. java海康摄像头添加人脸_java及opencv实现调用本地摄像头、网络摄像头完成人脸检测、人脸收集、人脸识别、性别识别...
  9. 项目管理实践——一页纸项目管理
  10. 关于下载安装pycharm专业版的步骤
  11. 南昌大学计算机学院夏令营,南昌大学关于举办2021年优秀大学生暑期夏令营活动的通知...
  12. 美团(2) - 实战准备
  13. python 批量增加文件前缀_linux中批量添加文件前缀的操作方法
  14. [c++]c++程序设计-Y.Daniel.Liang 笔记
  15. 用python 读取excel 指定列
  16. gnuplot 等高线脚本
  17. WIFI协议及ESP8266 AT指令
  18. 学习笔记 | 数据结构和算法 知识点思维导图
  19. Python实例8:利用条件结构计算个人所得税
  20. 美国C1/D签证如何申请?

热门文章

  1. 一个好用的在线画图工具 - 图表秀
  2. Neo4j【有与无】【N0】前言
  3. 自我管理数据缓冲区内存
  4. 2-6_Cleaning_Data
  5. lamp分离部署+phpmyadmian
  6. mysql打开注册表命令_怎么打开注册表文件?
  7. 目标检测模型中NMS、soft-NMS、softer-NMS的原理、LNMS文本检测系列(python代码实现)
  8. Android -- 传感器使用示例, 用方向传感器做指南针
  9. caffe与卷积神经网络
  10. java 任意多边形面积计算