#继承
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. 将本地项目映射到外网(tomcat web项目)

    1.首先如上图下载nat123软件,该软件可以免费内网映射. 2.根据上面图片,按要求填写即可:内网端口:自己web服务对应端口,内网地址:本机地址可以使默认localhost,内网ip,其余默认即可 ...

  2. Oracle学习笔记(2)

    2.Oracle用户管理 (1)创建用户:create user 用户名 identified by 密码(需要dba权限); sql>create user yzw identified by ...

  3. CentOS7使用firewalld的基本命令

    转自:https://www.cnblogs.com/moxiaoan/p/5683743.html.Thanks for  莫小安   1.firewalld的基本使用 启动: systemctl ...

  4. Mac Github:第一次上传成功,解决图片不可显示,Initial commit Untracked files

    在上传之前需要先给自己的电脑安装SSH 上传成功用的是github的官方提示,直接复制去做就可以了 解决README.md中图片不可显示:图片路径到底要怎么写? https://blog.csdn.n ...

  5. (转)Java中的容器详细总结

    Java中的容器详细总结(编辑中) 原文链接:http://anxpp.com/index.php/archives/656/ 注:本文基于 Jdk1.8 编写 通常程序总是根据运行时才知道的某些条件 ...

  6. CodeForces 366C 动态规划 转化背包思想

    这道题目昨晚比赛没做出来,昨晚隐约觉得就是个动态规划,但是没想到怎么DP,今天想了一下,突然有个点子,即局部最优子结构为 1-j,j<i,遍历i,每次从所有的1到j当中的最优解里面与当前商品进行 ...

  7. 哈希表hashTable的Java设计

    1:哈希表的概念 2:设计原理 3:哈希表的Java设计

  8. 通过实例说明在scrapy中 yield的作用

    源https://www.jianshu.com/p/7c1a084853d8 开始前的准备工作: 1.MySQL下载:点我2.python MySQL驱动下载:pymysql(pyMySql,直接用 ...

  9. Python中使用print打印进度条

    import time for i in range(0,101,2): time.sleep(0.1) char_num = i//2 #打印多少个'*' per_str = '\r%s%% : % ...

  10. UML-架构分析-架构原则

    1.高内聚 2.低耦合 3.防止变异(间接性等) 4.关注点分离 方法1: 事物模块化,封装到单独的子系统中 方法2: 装饰者模式 方法3: 面向方面(AOP)