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

直接说方法

以字典的键(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]))

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,953评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,819评论 19 139
  • ** 安卓开发中或多或少会接触到蓝牙部分,像一些智能家居,蓝牙手环,还有一些串口数据传输的设备都和蓝牙相关,面...
    枫雪狼情阅读 9,543评论 0 51
  • 哦!七夕那一天 复仇的蟑螂回来了吗,嗯 泡了一天的衣服呢,还在泡 掉在地上的玻璃杯呢,碎了 德勇和大叔呢,说再见了...
    哆嘞阅读 1,414评论 1 1
  • 10.14演唱会已经过去一个多月了,回来后常常后悔,为什么没有早生几年,早点认识他们。可是,阿信说:未来还很长,加...
    浮光掠影_321a阅读 4,308评论 0 0

友情链接更多精彩内容