gpt4 book ai didi

用于同时初始化的 Python 简写?

转载 作者:行者123 更新时间:2023-11-28 22:40:58 28 4
gpt4 key购买 nike

假设我有父类 - “Parent”,我想从中创建三个对象 - o1、o2、o3。

因此,如果有一个简略的方法或一种漂亮的方法来执行以下操作:

o1=Parent()
o2=Parent()
o3=Parent()

最佳答案

是否更漂亮是一个见仁见智的问题,但你可以在一行中完成,像这样:

o1, o2, o3 = Parent(), Parent(), Parent()

但是请注意,下面的代码不起作用,因为它为每个变量分配了相同的对象:

o1 = o2 = o3 = Parent() # does NOT work!

您还可以使用列表理解或生成器表达式来创建三个实例,并使用列表解包将它们分配给不同的变量:

o1, o2, o3 = (Parent() for _ in range(3))

这乍一看可能有点复杂,但如果 Parent 的初始化更复杂,这可能是最好的解决方案,例如如果您也传递了一些参数。

您可能想使用列表乘法,但同样,这行不通,因为列表将包含对同一对象的三个引用。

o1, o2, o3 = [Parent()] * 3 # does NOT work, too!

关于用于同时初始化的 Python 简写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33119688/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com