类和类实例化中的局部变量
大家好,
我刚开始使用Python.我曾经做一些Java编程,所以我是
不完全空白.
我有一个小问题,即如何在其他人中实例化
课程.我在此添加了测试程序的来源
邮件,其中包含每种实例化的测试类中的3种方法
同一类并将其绑定到局部变量.我的理解是
该方法后,本地变量立即收集垃圾
脱离范围.因此,我希望这些局部变量" CPU"
独立的方法并创建CPU类的不同实例.
不过,当我执行所有三种方法时,我得到了两个实例
相等,第三是不同的.
是否有一些使两个对象创建导致的圆形恒星
同一对象?
============================================== ===========输出
(测试)程序的输出是:
cpu class =
..cpu class =
..cpu class =
..
------------------------------------------------------------------------------------ ----------------------------
在0.001中进行了3次测试
好的
============================================== ============
测试程序的来源是:
导入系统
导入UNITSEST
从CPU导入CPU
cpuaddentries类(Unittest.testcase):
def testemptycpu(self):
"测试空CPU."
预期=" {}"
CPU = CPU(" CPU01")
打印" CPU类="+repr(CPU)
结果= cpu.showtimes()
self.sersertequals(预期,结果)
def testoneNtry(self):
"测试一个进入CPU"
时间=" 0000"
预期=" {'%s':('用户','system')}"%时间
CPU = CPU(" CPU02")
打印" CPU类="+repr(CPU)
cpu.addmetric(时间,"用户","系统")
结果= cpu.showtimes()
self.sersertequals(预期,结果)
def testDuper(self):
"测试插入重复条目."
全球例外
时间=" 0000"
预期=" {'%s':('用户','system')}"%时间
CPU = CPU(" CPU03")
打印" CPU类="+repr(CPU)
cpu.addmetric(时间,"用户","系统")
self.assertraises(例外,cpu.addmetric,时间," user1",
" System1")
如果__name__ ==" __ -main __":
UNITEST.MAIN()
- -
A.J. Bonnema,荷兰莱顿,
用户#328198(Linux计数器http://counter.li.org)