定义标准类dict的一个子类c:

>>> class c(dict):pass>>> y=c({1:2,3:4})
>>> y
{1: 2, 3: 4}
>>> y.__dict__
{}
>>> z={1:2,3:4}
>>> z.__dict__
Traceback (most recent call last):File "<pyshell#98>", line 1, in <module>z.__dict__
AttributeError: 'dict' object has no attribute '__dict__'
>>> dir(y)
['__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
>>> dir({})
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
>>> set(dir(y))-set(dir({}))
{'__module__', '__weakref__', '__dict__'}

可见,子类反而比父类多了3个属性:

{'__module__', '__weakref__', '__dict__'}

暂时不知有何深意.

转载于:https://www.cnblogs.com/xiangnan/p/3428445.html

Python 继承标准类时发生了什么相关推荐

  1. python继承——封装

    python继承--封装 1 为什么要封装 封装数据的主要原因是:保护隐私 封装方法的主要原因是:隔离复杂度 2 封装分为两个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空 ...

  2. python 继承和多态

    python 继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Ba ...

  3. php 抽象类 继承,PHP 抽象类继承抽象类时的注意点

    原标题:PHP 抽象类继承抽象类时的注意点 抽象类继承另外一个抽象类时,抽象类中,不能重写抽象父类的抽象方法.这样的用法,可以理解为对抽象类的扩展. 下面的例子,演示了一个抽象类继承自另外一个抽象类时 ...

  4. python编程语言继承_python应用:学习笔记(Python继承)

    学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...

  5. Effective JavaScript Item 40 避免继承标准类型

    本系列作为Effective JavaScript的读书笔记. ECMAScript标准库不大.可是提供了一些重要的类型如Array,Function和Date.在一些场合下.你或许会考虑继承当中的某 ...

  6. [转载] Python 继承

    参考链接: Python继承 # 继承 # 定义一个类 Animal(动物) #   这个类中需要两个方法:run() sleep() class Animal: def run(self): pri ...

  7. Python继承范例

    Hello everyone to python inheritance example. In our last tutorial, we learned about python operator ...

  8. python中表示类的公有成员_在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。...

    在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员. 更多相关问题 [填空题] 汽车板金的一般修理工艺是:校正.敲平.().().焊接及点焊. [填空题] 汽车照明系统主要由() ...

  9. python之标准库html

    python之标准库html html库是用于解析HTML的一个工具,是python自带的标准库之一. html库位置: __init__.py文件提供两个函数: __all__ = ['escape ...

最新文章

  1. 享有的意思是_“fuck you money”不是“x你钱”,真实意思却是这个
  2. 【PAT (Advanced Level) Practice】1093 Count PAT‘s (25 分)
  3. 潜水ow + aow + 高氧的一些points
  4. 为什么选用 React 创建混合型移动应用?
  5. ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
  6. 理解 Dubbo 服务引用
  7. ceres-solver学习笔记
  8. 算法(22)-leetcode-剑指offer6
  9. 《C++ Primer 5th》笔记(11 / 19):关联容器
  10. 天猫HTML练手项目,GitHub - txz1220/tianmao: 一个模仿天猫网页的项目
  11. 重新安装MySQL5.7.21教程_CentOS6.9安装mysql5.7.21教程
  12. 菜鸟的学习之路(8) — 数组(Array)
  13. vue微信支付回到原界面不执行mounted里的内容
  14. MySQL 5.7.9 免安装配置
  15. 精通MVC3摘译(5)-使用URL模式最佳实践
  16. 揭秘Windows Server 2008新功能
  17. 自立,霸者的生存之道
  18. TCPUDP测试工具的使用
  19. mysql生成随机姓名、手机号、日期
  20. 牛人之所以牛,在于思维方式超越了…

热门文章

  1. windows下使用Hibernate连接Mycat例子
  2. 存储过程与事务应用两三事
  3. (转)nginx+iis实现负载均衡
  4. 联不上网 Unable to initialize Windows Sockets interface. General failure.
  5. 使用 OSC Maven 第三方仓库
  6. WPF 4 DataGrid 控件(基本功能篇)
  7. Oracle表分区和索引分区汇总
  8. typedef VS #define —— C语言中的 关键字 与 C指令
  9. python3练习题:11-20
  10. ZOJ3531: [SDOI2014] 旅行