In [1]: class A: ...: NAME = 'A' # 类的直接下级作用域 叫做类变量 ...: def init(self, name): ...: self.name = name # 关联到实例的变量 叫做实例变量 ...: In [2]: a = A('a') In [3]: a.NAME Out[3]: 'A' In [4]: a.name Out[4]: 'a' In [5]: A.NAME Out[5]: 'A' In [6]: A.name --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) in () ----> 1 A.name AttributeError: type object 'A' has no attribute 'name' In [7]: a2 = A('a2') In [8]: a2.NAME Out[8]: 'A' In [9]: a2.NAME = 'A2' # 给示例a2的类变量NAME赋值 In [10]: a2.NAME Out[10]: 'A2' In [11]: a.NAME Out[11]: 'A' In [12]: A.NAME # 类变量没有变化 Out[12]: 'A' In [13]: a2.xxx = 3 In [14]: a2.xxx # 赋值之后a2多了xxx属性 Out[14]: 3 In [15]: A.NAME = 'AA' # 直接修改类的类变量 In [16]: A.NAME Out[16]: 'AA' In [17]: a.NAME # 对应的实例的类变量也发生了改变 Out[17]: 'AA' In [18]: a2.NAME # a2的类变量在之前的赋值被覆盖了,因此改变类变量的并不会影响a2 Out[18]: 'A2'

最新文章

  1. css3 transition属性
  2. python之SQLAlchemy
  3. 计划安装SQL Server2012需求详细
  4. Codeforces Round #160 (Div. 2) D. Maxim and Restaurant(DP)
  5. ios 定位 监听是否跨入某个指定的区域
  6. docker squid---but git proxy should specify by git config --global http.proxy http:...
  7. EhCache 分布式缓存/缓存集群
  8. 盘点 DevOps 世界的杰出女性(一)
  9. Python性能测试
  10. 动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数
  11. SQL-Delete Duplicate Emails
  12. python爬虫系列之爬京东手机数据
  13. ABAP 中 Table Control例子
  14. thinkphp学习笔记7—多层MVC
  15. HTML——超文本标记语言
  16. Maven多项目继承:dependencyManagement scope=import
  17. 字符串和ASCII之间的转换
  18. Csharp: read Sybase SQL anywhere5.5 using c#
  19. C# Process获取当前进程信息
  20. 直接插入排序实现(Java)

热门文章

  1. 设计模式C++模板(Template)模式
  2. Javascript逻辑运算认识
  3. .Net 单元测试框架xUnit使用
  4. laravel在视图中使用类似于“__PUBLIC__”,“__UPLOADS__”的操作
  5. mac:app已损坏,打不开。你应该将它移到废纸篓。
  6. 面试【JAVA基础】多线程
  7. RedisTemplate: Failed to deserialize payload
  8. MyBatis-Plus分页——PageHelper和IPage介绍
  9. 12_进程,线程,协程,IO多路复用的区别
  10. javascript面试题(一)