Python的类变量和实例变量
来源:互联网 发布:mysql 修改主键 编辑:程序博客网 时间:2024/05/18 21:49
python: Class and Object Variables 类变量 实例变量
这篇博客说的很好特转之
类似于java中的static变量与一般变量的区别。
类变量属于整个class所共享,而实例变量则仅仅属于特定对象实例。
类变量和实例变量在操作上的区别
访问权限
类变量通过类名点操作访问也可以通过实例点操作访问className.var objectName.var
实例变量只可以通过实例名点操作访问objectName.var
类变量修改后的表现
通过className.var修改类变量,该类和所有实例所共享的数据将被修改,再次通过类或实例访问得到的将是新的数据。
通过objectName.var修改类变量,其效果将仅仅作用在该实例上,再次通过类或其它实例访问得到的仍然是旧的数据。但这一修改方式将对该类变量实例化,其结果是该实例将得到一个单独的该变量拷贝,此后此对象不再与类共享改名称的变量(实例化一说,是个人对这一现象的定义,还未找到权威描述)
附加测试代码如下
classclassA:var1=0
def__init__(self,text):
self.var2=text#var2 is a instance variable
## self.var1=init_value #it will make var1 as a instance variable
defshow(self):
printself.var1,self.var2
defset_var1(self,x):
self.var1=x
oa=classA('a')
ob=classA('b')
print'---init---'
oa.show()
ob.show()
printclassA.var1,'classA'
classA.var1=1
print'---after classA.var1=1---'
oa.show()
ob.show()
printclassA.var1,'classA'
oa.var1=2
print'---after oa.var1=2---'
oc=classA('c')
oa.show()
ob.show()
oc.show()
printclassA.var1,'classA'
oa.set_var1(3)
ob.set_var1(4)
print'---after oa.set_var1(3),ob.set_var1(4)---'
oa.show()
ob.show()
oc.show()
printclassA.var1,'classA'
classA.var1=5
print'---after classA.var1=5---'
oc=classA('c')
oa.show()
ob.show()
oc.show()
printclassA.var1,'classA'
- Python的类变量和实例变量
- Python的类变量和实例变量
- Python的类变量和实例变量
- python的类变量和实例变量
- python的类变量和实例变量
- python 的类变量和实例变量
- Python类变量和实例变量区别
- Python中的实例变量和类变量
- Python基础-类变量和实例变量
- Python中的实例变量和类变量
- Python里类变量和实例变量的区别
- 类变量和实例变量的区别
- 类变量和实例变量的区别
- 类变量和实例变量的区别
- 类变量和实例变量的区别
- 实例变量和类变量的区别
- 类变量和实例变量的区别
- 类的成员变量和实例变量
- Android.mk中 LOCAL_COPY_HEADERS_TO 和 LOCAL_COPY_HEADERS的作用
- 请问Cocos2d下 怎么stop背景音乐而不停止其他音效?
- 小根堆 总结
- php抽象类和抽象方法
- android自定义视图属性(atts.xml,TypedArray)学习
- Python的类变量和实例变量
- make命令参数详解
- Flex 宋体、黑体、楷体、仿宋字体样式
- 游标、游标及三种循环方式笔记
- 推荐引擎的学习资料
- 第八周实验报告(1)
- 基于android手机的3G+GPS远程控制模型车工程-android手机编程6-伪视频控制远程手机端程序(文字篇)
- 值的各种类型转换
- 安装Fedora要做的25件事情