首页 > 编程语言 > 详细

python类静态变量

时间:2019-04-30 12:35:35      阅读:118      评论:0      收藏:0      [点我收藏+]

python的类静态变量直接定义在类中即可,不需要修饰符,如:

1 class Test:
2     stc_attr = 1
3     def __init__(self,attr1,attr2):
4      self.attr1 = attr1
5         self.attr2 = attr2

在类Test中,stc_attr是属于类Test的静态变量,attr1和attr2是属于对象的变量。并且通过类名和对象实例访问stc_attr都是合法的。

技术分享图片

可以看到类Test,对象obj1和对象obj2中stc_attr变量的内存地址是相同的

我们变更stc_attr的值(必须从类名访问):

技术分享图片

可以看到两个对象中stc_attr变量的内存地址一起改变了,所以只要通过类名修改静态变量的值就可以实现对象共享同一变量。

如果通过对象来修改静态变量的值:

技术分享图片

这里通过obj1对象修改了stc_attr的值,可以看到obj1.stc_attr的内存地址和类以及obj2对象中的stc_attr变量内存地址不同了。这种情况下,通过类名修改stc_attr的值不会对obj1.stc_attr的值产生影响。

 

python类静态变量

原文:https://www.cnblogs.com/Alexzzzz/p/10795227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!