#继承
class RobotOne: #第一代机器人
def __init__(self,year,name):
self.year=year
self.name=name
def walking_on_ground(self):
print(self.name+'只能在平地上行走,有障碍物就会摔的')
def robot_info(self):
print("{0}年产生的机器人{1},是中国研发的".format(self.year,self.name)) # 为了多继承写的第二代机器人
# class RobotTwo(RobotOne): #第二代机器人,继承了第一代了类
#
# def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
# print(self.name+'可以在平地上行走')
#
# def walking_avoid_block(self): #父类没有,子类有,叫拓展
# #想在子类的函数里面调用父类的一个函数
# self.robot_info()
# print(self.name+"可以避开障碍物") # class RobotTwo: #第二代机器人,
# def __init__(self,year,name):
# self.year=year
#
# def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
# print(self.name+'可以在平地上行走')
#
# def walking_avoid_block(self): #父类没有,子类有,叫拓展
# #想在子类的函数里面调用父类的一个函数
# self.robot_info()
# print(self.name+"可以避开障碍物") #为了超继承写的第二代机器人
class RobotTwo(RobotOne): #第二代机器人, def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
super(RobotTwo,self).walking_on_ground() #超继承,会继承父类的该方法
print(self.name+'可以在平地上行走') r= RobotTwo("","小王")
r.robot_info()
r.walking_on_ground()
#r.walking_avoid_block()
#继承的类 是否要用到初始化函数 请看是否从父类继承了。
#父类有的,继承后,可以直接拿过来用
#父类有的,子类也有重名的函数,那么子类的实例就优先调用子类的函数 #面试的时候的继承:多继承和超继承 #第三代机器人,多继承
# class RobotThree(RobotOne,RobotTwo): #第三代机器人,继承了第一代和第二代的了类
# def jump(self):
# print(self.name+"单膝跳跃")
#
# r3=RobotThree("","大王")
# r3.jump()
# r3.walking_on_ground() #会摔倒,RobotOne在前,RobotTwo在后
#
# r3=RobotThree("大王")
# r3.walking_on_ground() #不会摔倒,RobotTwo在前,RobotOne在后 #具有两个父类的属性和方法,如果两个父类具有同名方法的时候,就近原则。
#多继承的时候,继承的类的初始化值不一致问题???
#子类调用函数就近原则,初始化函数也包括在内。 #超继承
#改写父类的方法,同时还要使用父类的方法,使用超继承。
#super关键字会顺着子类的名字去找到父类的方法,调用父类里面的重名方法

python学习笔记(25)-继承的更多相关文章

  1. python学习笔记25(文件管理 os包)

    os包我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数.如果你对linux基本操作了解的话,下面的一些os方法应该会很熟悉的,因为基本和li ...

  2. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  3. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  4. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

  5. 【python学习笔记】7.更加抽象

    [python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以 ...

  6. python学习笔记5_异常

    python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...

  7. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  8. Python 学习笔记 - 不断更新!

    Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...

  9. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  10. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

随机推荐

  1. Django中使用ORM

    一.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数 ...

  2. HTML元素类型和类型的转换

    HTML元素分为:块状元素和内联元素 块元素:(block) 1.默认独占一行 2.没有宽度时,默认撑满一排 3.可以定义元素的宽和高 常见的块状元素有div,ul,li,h1-h6,ol 内联,行内 ...

  3. CSS属性之float浮动属性

    float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. float有四个属性 ...

  4. iOS内存管理布局及管理方案-理论篇

    苹果设备备受欢迎的背后离不开iOS优秀的内存管理机制,那iOS的内存布局及管理方案是怎样的呢?我们一起研究下. 内存管理分为五大块 栈区(stack):线性结构,内存连续,系统自己管理内存,程序运行记 ...

  5. DevOps元数据管理

    元数据是自动化运维的基础,对元数据的管理和查询贯穿整个运维的生命周期.我们从一个元数据的使用场景开始: 双十一抢购火热进行中,某电商后端实例的日志中出现了502错误码,运维平台监测到该异常并发送告警给 ...

  6. x264报错No working C compiler found.

    现象: 缺少C++部署包 解决 [root@localhost x264]# yum -y install gcc gcc-c++ kernel-devel [root@localhost x264] ...

  7. [GXYCTF2019]Ping Ping Ping

    0x00 知识点 命令执行变量拼接 /?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php 过滤bash用sh执行 echo$IFS$1Y2F0IGZsYWcucGhw|base6 ...

  8. ORACLE自增函数,一般函数

    1.UNIX时间与普通时间互相转换 1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME oracle_to_unix(creat ...

  9. delphi 串口的打开与关闭

    Delphi 打开串口与关闭串口 procedure TForm1.btn1Click(Sender: TObject); begin cm1.CommName:=cbb1.Text; cm1.Bau ...

  10. Vue框架的介绍及使用

    Vue框架 定义:渐进式 JavaScript 框架 渐进式:可以控制一个页面的一个标签,可以控制一系列标签,也可以控制整个页面,甚至可以控制整个前台项目. 通过对框架的了解与运用程度,来决定其在整个 ...