Python 继承标准类时发生了什么
定义标准类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 继承标准类时发生了什么相关推荐
- python继承——封装
python继承--封装 1 为什么要封装 封装数据的主要原因是:保护隐私 封装方法的主要原因是:隔离复杂度 2 封装分为两个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空 ...
- python 继承和多态
python 继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Ba ...
- php 抽象类 继承,PHP 抽象类继承抽象类时的注意点
原标题:PHP 抽象类继承抽象类时的注意点 抽象类继承另外一个抽象类时,抽象类中,不能重写抽象父类的抽象方法.这样的用法,可以理解为对抽象类的扩展. 下面的例子,演示了一个抽象类继承自另外一个抽象类时 ...
- python编程语言继承_python应用:学习笔记(Python继承)
学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...
- Effective JavaScript Item 40 避免继承标准类型
本系列作为Effective JavaScript的读书笔记. ECMAScript标准库不大.可是提供了一些重要的类型如Array,Function和Date.在一些场合下.你或许会考虑继承当中的某 ...
- [转载] Python 继承
参考链接: Python继承 # 继承 # 定义一个类 Animal(动物) # 这个类中需要两个方法:run() sleep() class Animal: def run(self): pri ...
- Python继承范例
Hello everyone to python inheritance example. In our last tutorial, we learned about python operator ...
- python中表示类的公有成员_在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。...
在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员. 更多相关问题 [填空题] 汽车板金的一般修理工艺是:校正.敲平.().().焊接及点焊. [填空题] 汽车照明系统主要由() ...
- python之标准库html
python之标准库html html库是用于解析HTML的一个工具,是python自带的标准库之一. html库位置: __init__.py文件提供两个函数: __all__ = ['escape ...
最新文章
- 享有的意思是_“fuck you money”不是“x你钱”,真实意思却是这个
- 【PAT (Advanced Level) Practice】1093 Count PAT‘s (25 分)
- 潜水ow + aow + 高氧的一些points
- 为什么选用 React 创建混合型移动应用?
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
- 理解 Dubbo 服务引用
- ceres-solver学习笔记
- 算法(22)-leetcode-剑指offer6
- 《C++ Primer 5th》笔记(11 / 19):关联容器
- 天猫HTML练手项目,GitHub - txz1220/tianmao: 一个模仿天猫网页的项目
- 重新安装MySQL5.7.21教程_CentOS6.9安装mysql5.7.21教程
- 菜鸟的学习之路(8) — 数组(Array)
- vue微信支付回到原界面不执行mounted里的内容
- MySQL 5.7.9 免安装配置
- 精通MVC3摘译(5)-使用URL模式最佳实践
- 揭秘Windows Server 2008新功能
- 自立,霸者的生存之道
- TCPUDP测试工具的使用
- mysql生成随机姓名、手机号、日期
- 牛人之所以牛,在于思维方式超越了…
热门文章
- windows下使用Hibernate连接Mycat例子
- 存储过程与事务应用两三事
- (转)nginx+iis实现负载均衡
- 联不上网 Unable to initialize Windows Sockets interface. General failure.
- 使用 OSC Maven 第三方仓库
- WPF 4 DataGrid 控件(基本功能篇)
- Oracle表分区和索引分区汇总
- typedef VS #define —— C语言中的 关键字 与 C指令
- python3练习题:11-20
- ZOJ3531: [SDOI2014] 旅行