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

本文介绍了一种使用Python字典来批量创建类实例的方法。这种方法不仅高效而且易于管理,尤其适用于需要创建大量相似对象的场景,如遗传算法中种群的初始化。文章还提到了在查找相关资料过程中遇到的一些误区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接说方法

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

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

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值