1 #!/usr/bin/python3
 2
 3 #类定义
 4 class people:
 5     #定义基本属性
 6     name = ''
 7     age = 0
 8     #定义私有属性,私有属性在类外部无法直接进行访问
 9     __weight = 0
10     #定义构造方法
11     def __init__(self,n,a,w):
12         self.name = n
13         self.age = a
14         self.__weight = w
15     def speak(self):
16         print("%s 说: 我 %d 岁。" %(self.name,self.age))
17
18 #单继承示例
19 class student(people):
20     grade = ''
21     def __init__(self,n,a,w,g):
22         #调用父类的构函,否则继承自people的student将没有n、a、w属性!!!!!!!!!!!!!!!
23         people.__init__(self,n,a,w)#
24         self.grade = g
25     #覆写父类的方法
26     def speak(self):
27         print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
28
29
30
31 s = student('ken',10,60,3)
32 s.speak()

结果是:

若是上述代码没有第23行,代码如下:

 1 #!/usr/bin/python3
 2
 3 #类定义
 4 class people:
 5     #定义基本属性
 6     name = ''
 7     age = 0
 8     #定义私有属性,私有属性在类外部无法直接进行访问
 9     __weight = 0
10     #定义构造方法
11     def __init__(self,n,a,w):
12         self.name = n
13         self.age = a
14         self.__weight = w
15     def speak(self):
16         print("%s 说: 我 %d 岁。" %(self.name,self.age)) #其实也可以用people.age访问类属性,但是此时实例化后调用此句时类属性age的值为0。
17
18 #单继承示例
19 class student(people):
20     grade = ''
21     def __init__(self,n,a,w,g):
22         #调用父类的构函
23         #people.__init__(self,n,a,w)
24         self.grade = g
25     #覆写父类的方法
26     def speak(self):
27         print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
28
29
30
31 s = student('ken',10,60,3)
32 s.speak()

结果为:

name为空,age为0,这不是直接继承的父类people的属性   name = ''    age = 0    么,也就是第31行 

s = student('ken',10,60,3)  name和age只是传递到了子类student中,子类由于继承了父类的属性和方法,但父类的初始化(构造函数)函数却没有被自动执行。


参考:http://blog.csdn.net/goodluckac/article/details/53100957http://www.runoob.com/python3/python3-class.html

转载于:https://www.cnblogs.com/zhubinglong/p/6935295.html

python类的继承-1相关推荐

  1. 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...

    原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...

  2. 一文讲透python类的继承原理,好比调制鸡尾酒

    python类继承的原理 python类继承的原理,大家完全可以将其想象为调鸡尾酒,就是电视上调酒师拿着一个杯子甩来甩去的跟扔印度飞饼一样的那种,我们不难发现,调鸡尾酒会用很多的原材料来勾兑(至于严格 ...

  3. python一个类继承多个类_如何让Python继承多个类?一文读懂Python类的继承

    面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过Python类的继承并且在此基础上衍生出让Python继承多个类的方法. 通过Python类的继承创建的新类称为子类或派生类, ...

  4. python 类的继承,类中的函数调用以及类输入数组

    第一部分,类的继承 先给出一个例子: class People(): #定义类,要大写,python 2中要在括号里加如object这个单词def __init__(self,n,a,w): #定义一 ...

  5. python类与继承person类_关于python中类的继承及self

    关于python中类的继承及self 如下,如果调用student类,则可以正常运行,但是如果去掉consumer.__init__(self, fee)中的self,将其改成consumer.__i ...

  6. Python 类的继承和组合

    面向对象的编程带来的主要好处之一是代码的复用,实现这种复用的方法之一是通过继承机制. python中解决代码复用的方式:继承和组合. 1 什么是继承 继承是一种创建类的方法,在python中,一个类可 ...

  7. python 优先级继承_孤荷凌寒自学python第二十二天python类的继承

    (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) python中定义的类可以继承自其它类,所谓继承的概念,我的理解 是,就是一个类B继承自类A,意味着类B的内部代码块中就算不写任何代码,类B仍然 ...

  8. 关于python类的继承正确的说法是_关于python类的继承的一个小坑

    我们来看看一个很普通的类的继承: class Model: name = "DNN" def __init__(self, name): self.name = name def ...

  9. python类的继承关系,python——类和类之间的关系(继承多态)

    1.类和类之间的关系有三种:is-a.has-a和use-a关系. is-a关系也叫继承或泛化,比如学生和人的关系.手机和电子产品的关系都属于继承关系. has-a关系通常称之为关联,比如部门和员工的 ...

  10. python类的继承优缺点_python 类的三大特性--继承

    继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题, 继承是一种创建新类的方式,在python中新建的类可以继承一个或多个父类,父 ...

最新文章

  1. mysql事物日志工具_MySQL——常用工具和日志
  2. 浏览器兼容问题 透明度 position:fixed bootstrap
  3. HDU 6184 2017广西邀请赛:Counting Stars(三元环)
  4. 考研预报名即将开始,做好这些实现弯道超车
  5. ORACLE中将一个值赋值到另一个表的值
  6. 一文快速掌握 Git 用法(Git介绍及使用流程)
  7. ADB 学习(4):adb shell (上)
  8. 数据库管理-第二十九期 记一次AFD环境的存储变更(20220803)
  9. AS导入项目或开启项目时,Gradle一直卡在build状态
  10. 温控-Thermal
  11. 系统端口被占用解决方法
  12. 【文献阅读】RL经典:Benchmarking Deep Reinforcement Learning for Continuous Control
  13. Windows系统win10系统磁力种子文件下载软件推荐
  14. 命令 / Linux / apt remove 和 apt purge 的区别
  15. 在Windows下编写的代码,实时在Linux下编译
  16. java白盒测试代码_Java白盒测试
  17. 访问github网速慢问题
  18. black duck 下载_如何创建安全的Java软件:与Black Duck的Tim Mackey交谈
  19. AutoCAD2015 设置默认字体选择为gbcbig
  20. SpringBoot2.x集成mongoDB4.0实现音频文件的上传下载功能

热门文章

  1. AAuto 快速开发win32小程序
  2. selectpselect/pollppoll/epoll
  3. 解决启动Oracle9i的OEM或OMS的常见问题(VTK-1000)
  4. 告警系统邮件引擎、运行告警系统
  5. 虚幻填坑004:减少starter content占用空间,只保留使用的assets
  6. StringBuffer的用法
  7. 11步教你选择最稳定的MySQL版本
  8. 服务器状态监控之二软硬件环境介绍
  9. 组建Livebos超级快速开发平台学习研讨QQ群 !
  10. 三菱触摸屏通讯错误_三菱触摸屏常见问题及故障汇总