|
发表于 2019-2-22 00:04:16
|
显示全部楼层
本帖最后由 Stubborn 于 2019-2-22 00:07 编辑
只能再初始化的时候记录,不在初始化记录没法子
- class C:
- count = 0
- def __init__(self):
- print("正在调用")
- self.prin()
- def prin(self):
- self.count = self.count + 1
- print("测试=",self.count)
- a = C()
- b = a
- print("a的类型={}.内存id={},值{}".format(type(a),id(a),a))
- print("a的类型={}.内存id={},值{}".format(type(b),id(b),b))
- print("a对象测试:",a.prin())
- print("b对象测试:",b.prin())
- aa = 2
- bb = aa
- print("aa的类型={}.内存id={},值{}".format(type(aa),id(aa),aa))
- print("a的类型={}.内存id={},值{}".format(type(bb),id(bb),bb))
复制代码
结果
- 正在调用
- 测试= 1 #初始化类调用函数一次,下面都是调用函数才发生的次数
- a的类型=<class '__main__.C'>.内存id=44007320,值<__main__.C object at 0x00000000029F7F98>
- a的类型=<class '__main__.C'>.内存id=44007320,值<__main__.C object at 0x00000000029F7F98>
- 测试= 2
- a对象测试: None
- 测试= 3
- b对象测试: None
- aa的类型=<class 'int'>.内存id=8791298004032,值2
- a的类型=<class 'int'>.内存id=8791298004032,值2
复制代码 |
|