gpt4 book ai didi

python - Python 中的动态对象实例化

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:30 24 4
gpt4 key购买 nike

我无法找到如何动态实例化一个类的多个实例。例如,我得到一个文件,每行都有一个 x、y、z 和 t 坐标。我想将每一行放入一个名为 Droplet 的类中,该类由 x、y 唯一标识,因为 z 位置和时间随时间变化。每个 Droplet 都有一个将时间映射到 z 坐标的哈希表。

总的来说,每一行输入都指定了某个时间点的水面位置,我将使用 Python 在 Blender 中对此进行动画处理。

我遇到问题的部分是我不知道我必须实例化多少个 Droplet 实例,所以我不能做类似的事情

drop1 = Droplet(0,0)
drop2 = Droplet(0,1)
... and so on

有没有一种方法可以让我使用唯一的 x,y 作为 Python 中的标识符来自动化类实例化?

最佳答案

是的,只需循环执行并将对象放入列表中即可:

drops = []
for line in file:
x, y, z, t = parseFromFile(line)
drops.append(Droplet(x,y,z,t))

或者,更像 Pythonesque:

drops = [Droplet(*parseFromFile(line)) for line in file]

*此处采用 parseFromFile 返回的(可能是四个)值,并将它们用作 Droplet 实例化的四个参数

关于python - Python 中的动态对象实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23176186/

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