Python中类属性及实例属性

1.类属性

即是类对象所拥有的属性,它被类对象的所有实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态变量类似。对于公有的类属性,在类外可以通过类对象和实例对象访问。

2.实例属性

实例对象所特有的属性,类对象并不拥有它。不需要再类中显示定义。

3.类外对两种属性操作

如果需要在类外修改类属性,必须通过类对象去引用。如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉同名类属性,即引用的是实例属性,除非删除了该实例属性。

4.类内对两种属性操作(涉及类方法@classmethod、实例方法)

类方法可以访问类属性,无法访问实例属性。类方法中可以修改类属性。

实例方法中访问不修改某属性,若无同名实例属性,则访问的是类属性;若修改某属性,则产生同名的实例属性,修改的是实例属性,不会影响到类属性。

 

参考原文:

http://www.cnblogs.com/dolphin0520/archive/2013/03/29/2986924.html

 

posted @ 2014-04-18 18:57  huihui1989  阅读(377)  评论(0编辑  收藏  举报