类属性的小 case 们
来源:互联网 发布:湖南 福建卓知 编辑:程序博客网 时间:2024/06/05 18:59
1 类属性和实例属性
2 可变的类属性
1 类属性和实例属性
# coding=utf-8class C: s = 100c = C()cc = C()print "类属性值{},类属性地址{},实例属性值{},实例属性地址{}".format(C.s, id(C.s), c.s, id(c.s))c.s = 150print "类属性值{},类属性地址{},实例属性值{},实例属性地址{}".format(C.s, id(C.s), c.s, id(c.s))C.s = 200print "类属性值{},类属性地址{},实例属性值{},实例属性地址{}".format(C.s, id(C.s), c.s, id(c.s))print "类属性值{},类属性地址{},实例属性值{},实例属性地址{}".format(C.s, id(C.s), cc.s, id(cc.s))
输出:
类属性值100,类属性地址31620912,实例属性值100,实例属性地址31620912类属性值100,类属性地址31620912,实例属性值150,实例属性地址31621704
类属性值500,类属性地址40599784,实例属性值150,实例属性地址31621704
类属性值500,类属性地址40599784,实例属性值500,实例属性地址40599784
推论:
· 类属性通过类修改
· 初始实例属性和类属性指向同一个地址
· 修改类属性,地址改变,已经初始化的实例属性不变. 若仅初始化实例,没有初始化实例属性,则实例属性指向最新的类属性地址,值也与类属性相同
2 可变的类属性
# coding=utf-8class C: l = {'k1': 'v1'}c = C()print "实例属性值{},实例属性地址{},类属性值{},类属性地址{}".format(C.l, id(C.l), c.l, id(c.l))c.l['k2'] = 'v2'print "实例属性值{},实例属性地址{},类属性值{},类属性地址{}".format(C.l, id(C.l), c.l, id(c.l))c.l['k1'] = 'v5'print "实例属性值{},实例属性地址{},类属性值{},类属性地址{}".format(C.l, id(C.l), c.l, id(c.l))
输出:
实例属性值{'k1': 'v1'},实例属性地址40527800,类属性值{'k1': 'v1'},类属性地址40527800
实例属性值{'k2': 'v2', 'k1': 'v1'},实例属性地址40527800,类属性值{'k2': 'v2', 'k1': 'v1'},类属性地址40527800
实例属性值{'k2': 'v2', 'k1': 'v5'},实例属性地址40527800,类属性值{'k2': 'v2', 'k1': 'v5'},类属性地址40527800
推论:
·当类属性是字典或者列表时,可进行添加,和修改
阅读全文
1 0
- 类属性的小 case 们
- 我的 android 小case
- 小case
- case when 用法的小实例
- Switch case的一个小问题...
- Case When的用法,简单小例子
- 【Java】Switch-case的一些小总结
- iOS:Case.编写某个公用类时属性、init的设计
- 属性的小问题
- C语言的 Switch Case 的小问题
- 一些配置小CASE
- 编程吗?小case。。。
- System小case
- switch case小例子
- case小乌龙
- 密码学_小case
- glib 小case
- mysql 小case
- leetcode 367.Valid Perfect Square
- Hessian 序列化,反序列
- 通过银行卡号获取银行卡所属银行
- APK下载并跳转安装--DownloadManager、IntentService、BroadcastReceiver的结合使用
- 快速排序-javascript
- 类属性的小 case 们
- 和莫里的最后14堂星期二的课
- Oracle数据库三范式
- 运算符
- Linux-视频监控系统(1)-产品设计规划
- HTTP错误 403.14 服务器配置为不列出此目录内容
- 微信小程序尺寸单位
- NOIP模拟:Subset(分块)
- hibernate一对多,更新主表时删除旧的多方数据加入新的多方数据