鱼C论坛

 找回密码
 立即注册
查看: 2517|回复: 12

动手在一个类中定义一个变量,用于跟踪该类有多少个实例被创建

[复制链接]
发表于 2018-9-1 19:13:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在39讲动动手第一题中要求“动手在一个类中定义一个变量,用于跟踪该类有多少个实例被创建(当实例化一个对象,这个变量+1,当销毁一个对象,这个变量自动-1)。 ”
这个问题的代码如下:
class C:
    count = 0

    def __init__(self):

        C.count += 1

    def __del__(self):

        C.count -= 1

a = C()

b = C()

c = C()

C.count
del a
C.count

这段代码运行后,结果是-1,请问是什么原因?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-1 19:19:34 From FishC Mobile | 显示全部楼层
为什么我运行是2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 19:20:00 | 显示全部楼层
贴出你的运行截图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-1 19:29:51 | 显示全部楼层
我第一次运行完后是2,运行第二次后就是0,请问是什么原因?
截图貌似粘贴不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 19:30:51 | 显示全部楼层
曲别针能发,贴图用画图粘贴保存图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-1 19:35:19 | 显示全部楼层
这是截图,第一张是运行第一次的结果,第二张是第二次的结果,麻烦看看是什么原因
截图.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-1 19:37:33 | 显示全部楼层
这是截图,第一张是运行第一次的结果,第二张是第二次的结果,麻烦看看是什么原因
截图.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 19:41:18 | 显示全部楼层
你这是什么编译器,in[1]in[2]表示什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 20:04:08 | 显示全部楼层
楼主是进入了ipython模式吧。。。原理我也不懂,但你只要用正常的python编译器就没问题了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 20:17:37 | 显示全部楼层
刚测试了一下,好像同一个变量名对函数C进行引用之后,即使后面再怎么重新引用,C.count的值也不会增加,所以第一次结果是2,第二次在定义的时候重新让count=0,而此时再重新给b、d进行C的引用也无济于事。a则是因为第一次已经删除,现在又引用,使count变为1,再次删除,变回0。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-1 21:05:55 | 显示全部楼层
用的是anoconda [1] [2]代表的是运行的次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-1 21:07:53 | 显示全部楼层
难道你们跑两次不会出现不同的结果吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-2 16:53:51 | 显示全部楼层
我用jupyternotebook的结果和你一样,我觉得上面的那个老哥说的有道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表