实例1

class A:## 静态变量a = 12def __init__(self, a):##成员变量self.a = aprint(A.a)  # 12
print(A(0).a)  # 0

静态变量是通过类名.变量名 来访问的,成员变量是通过对象.变量名访问的。

实例2

class A:## 静态变量a = 12a1 = A()
a2 = A()
a1.a = 1
print(a1.a)  ## 1
print(a2.a)  ## 12

之所以结果不相同,原因在于给a1对象的a赋值并没有把类变量a变为1,而是a1对象自己生成了一个变量a,并初始化为1。而此时a2.a指向的仍然是类A的变量a,其值仍为12。这归功于python动态语言的特性,下面再看个例子

class A:passa = A()
print(a.add) ##此行会报错找不到add属性
#动态增加字段
a.add = 12
print(a.add)

实例3

class A(object):__count = 0  # 私有变量,无法在外部访问,A.__count会出错@classmethod  ## 静态函数def get_count(cls):return cls.__count@classmethoddef set_count(cls, num):cls.__count = numf1 = A()
f2 = A()
A.set_count(1)
print(f1.get_count(), f2.get_count())  # 1 1

以上是静态变量的封装

python静态变量 详解相关推荐

  1. php之static静态变量详解

    php之static静态变量详解 一.总结 把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期. 把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围. 二.php之sta ...

  2. php的 静态变量,PHP之static静态变量详解

    在看别人项目过程中,看到函数里面很多static修饰的变量,关于static修饰的变量,作用域,用法越看越困惑,所以查了下资料. static用法如下: 1.static 放在函数内部修饰变量 2.s ...

  3. (35)System Verilog类静态变量详解

    (35)System Verilog类静态变量详解 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog类静态变量详解 5)结语 1.2 F ...

  4. Python 全局变量、局部变量、静态变量 详解

    参考连接: 1. http://blog.csdn.net/eastmount/article/details/48766861 2. http://www.imooc.com/article/146 ...

  5. C语言static静态变量详解

    有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这时就应该指定局部变量为静态局部变量,用关键字static进行声明. 通过用static类型声明后的变量,其变量的内存空间位于内存的全局静 ...

  6. python全局变量global线程安全_对python多线程与global变量详解

    今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错: 比如在下载文件的url列表中加入200个url,开启50个线程.我的爬虫-竟然将50个url爬取并全部命名为0.html,也就是 ...

  7. python中类变量和实例变量详解

    python中类变量和实例变量详解 在了解类变量和实例变量之前,首先要知道类变量和实例变量的定义. 类变量:可在类的所有实例之间共享的值,就是指不是单独分配给每个实例,实例可以调用类变量. 实例变量: ...

  8. python variable_PyTorch中的Variable变量详解

    一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...

  9. Python超实用小技巧:分类变量转化为哑变量(附哑变量详解)

    代码示例 features = ["Pclass", "Sex", "SibSp", "Parch"]# 筛选出分类变量 ...

最新文章

  1. Python运行异常 Original error was: DLL load failed:
  2. C#的常见算法(面试)(转)
  3. 前端趋势榜:上周最 yyds 的 10 大前端项目 - 211101
  4. CentOS 6 安装Hadoop 2.6 (一)准备工作
  5. C# override详解
  6. 简易有效Api接口防攻击策略
  7. 动态给H5页面绑定数据,基本万能无错误!
  8. C4996    'fopen': This function or variable may be unsafe
  9. Python高级——HTTP协议
  10. JavaScript 数组 array.at() 获取数组中最后一个元素
  11. openstack创建外网_OpenStack的女性谈论外展,教育和指导
  12. IIS装好了无法访问localhost
  13. 郭台铭“炮轰”微软;腾讯应用宝全面封禁多闪;波音更新飞行软件 | 极客头条...
  14. WAP入门之WMLScript与JavaScrpt的不同之处
  15. SqlServer存储过程之简单入门
  16. AD9371、AD9361、ADRV9009驱动开发、调试
  17. VSCode运行Java报错No delegateCommandHandler for vscode.java.resolveMainMethod
  18. 在ArrayLIst和LinkedList尾部加元素,谁的效率高
  19. L2十档行情API接口(十档委托、买卖队列、逐笔成交)web或软件应用xml数据接口
  20. linux永久修改dns

热门文章

  1. 【组合数学-DP】BZOJ5305 [HAOI2018] 苹果树
  2. python列表去重的九种实现方式
  3. Netty框架简单了解
  4. 基于ASP.NET的洗衣店管理系统
  5. 从传统框架到服务化框架
  6. 和CIO问答软件项目实施管理
  7. HTTP协议之——HTTP报文格式
  8. 短域名有什么特点和优势?
  9. Java 中 Set 的4中遍历方式
  10. java代码实现分页_Java实现简单的分页功能