擅长:python、mysql、java
<p>尽管<code>I have Python 3.8.0 and the code works as expected - without any errors.</code>,正如我的评论所说,在没有任何<code>eval()</code>的情况下仍然可以做到这些</p>
<p>您希望动态地从模块中获取类。您可以使用<code>getattr()</code>进行此操作</p>
<pre><code>from emcee import moves
emcee_moves = ['KDEMove', 'DEMove']
mv = [getattr(moves, _)() for _ in emcee_moves]
</code></pre>
<p>输出:</p>
<pre><code>In [22]: mv = [getattr(moves, _)() for _ in emcee_moves]
In [23]: mv
Out[23]:
[<emcee.moves.kde.KDEMove at 0x7f2bf8b98a90>,
<emcee.moves.de.DEMove at 0x7f2bf90b08e0>]
</code></pre>
<p>我不太清楚为什么会有这些<code>,0.5</code>后缀<em>(<code>__init__</code>参数,也许?</em>),但“要点”写在上面</p>