美文网首页程序员
Python的类同时创建多个对象的想法

Python的类同时创建多个对象的想法

作者: 老梁家的风子 | 来源:发表于2017-10-10 14:29 被阅读509次

    直接说方法

    以字典的键(key)为对象名称,值(value)为对象。如对于类Test,如果想要创建多个对象,则可以

    class Test:
        def __init__(self, val):
            self.value = val
    
    d = {}
    for i in range(3):
        d['obj'+str(i)] = Test(i)
    

    因此我们就这样创建了3个对象,每一个键就代表一个对象。也就是说,我们相当于创建了一个下面这样的字典

    d = {'obj0':Test(0), 'obj1':Test(1), 'obj2':Test(2)}
    

    所以我们可以输出一下试试

    for i in range(3):
        print(d['obj'+str(i)].value)
    
    #输出结果
    0
    1
    2
    

    下面扯闲的

    上一篇文章说过,是我在写遗传算法的时候,我就想模仿C++一样创建一个对象数组,从而来直接创建一个种群的对象,用个体来表示对象,每个个体都有染色体与适应度这两个属性。

    于是我就上网查如何创建多个对象,可能是我找的姿势不对,什么都没找到。所以很尴尬。但是突然想到了字典这种映射的方式,于是姑且一试,竟然发现了新大陆。

    因此写在这里给大家分享一下。

    实际上我还查到了关于创建多个字典键值的方法fromkeys()方法,但是我发现网上的教程基本上全部的示例都是错误的,即写成了

    dict.fromkeys(seq[, value]))
    

    这一句连括号都没对齐怎么可能会运行通的过,因此我通过查阅资料与辛苦尝试发现了真正的用法以及一些小问题,所以这将会再下一篇文章进行讲解。

    这一篇就到这里,谢谢浏览,希望您能够点个喜欢哦

    相关文章

      网友评论

        本文标题:Python的类同时创建多个对象的想法

        本文链接:https://www.haomeiwen.com/subject/xpbvyxtx.html