复制Python模块/包,更改其行为,然后将其行为与原始的进行比较?

2024-03-29 13:51:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个程序来模拟不同的场景。你知道吗

世界的模型由各种python对象表示,通常是函数和类。我想保留世界的原始版本和新版本。你知道吗

从概念上讲,我想我应该定义世界的现状,然后改变一些关于它的信息,并模拟两者。你知道吗

例如,我期待这样的事情:

import world
from simulator import simulate
from world_changer import change, copy_world

world0 = world
world1 = change(copy_world(world))

results0 = simulate(world0)
results1 = simulate(world1)

print results0, results1

世界通常是一个包,因为其中有很多东西,模块中的类似乎是表示有状态进程的自然方式。你知道吗

我真的不知道这是不是可能,或者我的想法是否正确。你知道吗


Tags: from模型import程序版本world场景世界
1条回答
网友
1楼 · 发布于 2024-03-29 13:51:21

您的问题非常抽象,但依赖注入似乎是一个合理的选择:

import world
from simulator import simulate
from sub_worlds import sub_world_0, sub_world_1

world0 = world.World(sub_world_0)
world1 = world.World(sub_world_1)
...

相关问题 更多 >