Python如何计算类的实例个数
2017-09-21 01:09
495 查看
分析:
首先,要计算类的实例个数,那么需要使用类属性,而非实例属性,否则类无法实时知道自己被调用创建实例多少次
但是,如果类的属性(也称为该类的命名空间)定义(如 instanceNum=0)在类的作用域中,那么每次创建实例过程中,都会覆盖掉原来类中计算得到的instanceNum值而无法计数
因此,想要进行类的实例计数,那么就需要使用超类和继承;
使用超类作为专门计数的类,计数的属性作为类属性,子类作为正常类处理就可以,而需要在初始化重载中加入超类属性增加1即可
主要代码:
结果:
首先,要计算类的实例个数,那么需要使用类属性,而非实例属性,否则类无法实时知道自己被调用创建实例多少次
但是,如果类的属性(也称为该类的命名空间)定义(如 instanceNum=0)在类的作用域中,那么每次创建实例过程中,都会覆盖掉原来类中计算得到的instanceNum值而无法计数
因此,想要进行类的实例计数,那么就需要使用超类和继承;
使用超类作为专门计数的类,计数的属性作为类属性,子类作为正常类处理就可以,而需要在初始化重载中加入超类属性增加1即可
主要代码:
# instanceCount.py # super class for count B class A: count = 0 # sub class do things class B(A): def __init__(self): A.count += 1 # 测试代码: if __name__=='__main__': a = B() b = B() print('B instance count: ',a.count) print('B instance count: ',b.count) print('B instance count: ',B.count)
结果:
B instance count: 2 B instance count: 2 B instance count: 2
相关文章推荐
- python 中如何计算时间差...
- 【实例】python 在cmd 中如何清屏?
- Python中实例对象如何进行属性和方法调用原因分析
- 如何运用docker配合python开发环境实例
- Python实例讲解 -- 获取本地时间日期(日期计算)
- python_如何通过实例方法名字调用方法?
- Python实例讲解 -- 获取本地时间日期(日期计算)
- 如何使用python计算2个毫秒级字符串的计算
- python 7-6 如何使用描述符对实例属性做类型检查,分别实现set,方法,在set内使用isinstance做类型检查
- Python高级应用实例对比:高效计算大文件中的最长行的长度
- 量化分析(5)——Python应用tushare数据计算单资产CAPM实例
- Python计算斗牛游戏概率算法实例分析
- 用python3+PyQt5改写Python Qt GUI快速编程的第6章实例主窗口 信号及槽如何使用
- Python正则表达式如何进行字符串替换实例
- 【python】如何批量读取文件夹的所有文件数据,os模块与open函数结合使用实例
- python计算两个矩形框重合百分比的实例
- 实例描述如何用python组件ctypes调用c的dll中的函数
- python计算牛顿迭代多项式实例分析
- python里如何计算大文件的md5
- python中类和实例如何绑定属性与方法示例详解