新式类和经典类的区别

python2.7

新式类——广度优先

经典类——深度优先

python3.0

新式类——广度优先

经典类——广度优先

广度优先才是正常的思维,所以python 3.0中已经修复了经典类深度优先的特性,改为了广度优先

 class A:
n = 'A'
def f2(self):
print("f2 from A")
class B(A):
n= 'B'
def f1(self):
print("from B")
def f2(self):
print("f2 from B")
class C(A):
n= 'C'
def f2(self):
print("from C")
class D(B,C):
pass d = D()
d.f1()
d.f2()

类的特殊成员

上文介绍了Python的类成员以及成员修饰符,从而了解到类中有字段、方法和属 性三大类成员,并且成员名前如果有两个下划线,则表示该成员是私有成员,私有成员只能由类内部调用。无论人或事物往往都有不按套路出牌的情 况,Python的类成员也是如此,存在着一些具有特殊含义的成员,详情如下:

1、__doc__

打印出的是类的描述信息

2、__module__

打印的是类的模块信息

3、__init__

初始化调用程序,自动执行

4、__del__

析构方法 ,程序运行完时,程序会自动销毁,内存自动清除

5、__new__

是__new__调用的__init__

6、__dict__

显示类的成员变量及值

7.__call__

详细参照Python 面向对象(初级篇):http://www.cnblogs.com/wupeiqi/p/4493506.html

详细参照python 面向对象(进阶篇): http://www.cnblogs.com/wupeiqi/p/4766801.html

最新文章

  1. 通过扩展让ASP.NET Web API支持JSONP
  2. github的使用(概要版)
  3. R语言XML包的数据抓取
  4. Java程序运行时,数据都保存到什么地方?
  5. PHP无法编译undefined reference to `libiconv_open
  6. bccomp比较大小注意
  7. s事件之event.preventDefault()与event.stopPropagation()的阻止默认事件和阻止事件冒泡的用法
  8. spring 配置定时任务
  9. git init 与 git init --bare 的区别
  10. java之jvm学习笔记十三(jvm基本结构)
  11. 基于Spring MVC 实现拦截器
  12. php session 保存到redis 实现session的共享
  13. Kubernetes理论基础
  14. 【vue】vue +element 搭建项目,组件之间通信
  15. ansible自动化工具安装和简单使用
  16. Thymeleaf 学习笔记
  17. 通过golang 查询impala
  18. UILabel居中显示的方法
  19. apache服务器yii2报The fileinfo PHP extension is not installed解决思路
  20. JMS开发指南

热门文章

  1. jquery中each用法
  2. Ajax实现天气预报功能
  3. Java笔记:内部类
  4. AOP in Spring
  5. 40w会议投票系统优化方案
  6. 对用户控件(ascx)属性(property)赋值
  7. 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
  8. Kafka分布式集群搭建
  9. 自定义JSP中的Taglib标签之四自定义标签中的Function函数
  10. Python的下载和安装