python继承关系中,类属性的修改
2017-05-16 23:11
288 查看
class Grandfather(object): mylist = [] def __init__(self): pass class Father(Grandfather): pass Grandfather.mylist = [1, 2, 3, 4] print(Grandfather.mylist) print(Father.mylist) Father.mylist = ['a'] Grandfather.mylist = ['b'] print(Father.mylist) print(Grandfather.mylist) print(Father.mylist)
输出结果:
[1, 2, 3, 4] [1, 2, 3, 4] ['a'] ['b'] ['a']
从上面的实验可以看出,子类继承父类后,初始状态下,继承了父类的属性。
当在子类中修改继承过来的类属性时,并不会修改父类的同名类属性。以后只要是通过子类访问该属性,访问的都是子类的属性;
通过父类修改了父类属性后,子类访问该属性时,会访问父类修改后的属性值。前提是子类没有对该属性重新赋值过,如果子类修改过该属性,则会遵循上面的规则
相关文章推荐
- Python中的类型关系和继承关系
- Java继承中属性、方法和对象的关系
- Python 修改 mp3 属性
- Python(2.7.6) 异常类的继承关系
- Odoo中通过继承修改view视图的标签属性
- IDL中有继承关系的接口不应有重复的属性和方法
- Python中类型关系和继承关系实例详解
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
- python 零散记录(七)(下) 新式类 旧式类 多继承 mro 类属性 对象属性
- Python time 模块 属性、func 关系
- 保护继承 和 各类继承关系的属性(图)
- Python中的类型关系和继承关系
- hibernate中的id特殊属性hilo剖解(多用于继承关系)
- 002_025 Python 修改Windows上一系列文件的属性,如设置文件为只读、归档等
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
- 窗体继承时对象属性的修改问题
- hibernate中的id特殊属性hilo剖解(多用于继承关系)
- python实例26[查询修改文件的属性]
- Python中的类型关系和继承关系
- Python中类型关系和继承关系实例详解