<p>假设我在一个循环中有一个函数,它接受多个参数,但实际上只有一个参数在循环的一次迭代中改变</p>
<p>示例:</p>
<pre><code>for i in range(10):
function(i, a, b, c, d, e)
</code></pre>
<p>我是否会因为在函数中反复传递参数a,b,c,d,e而失去速度?我对所有可变类型是如何以“类似引用”的方式传递的有些模糊的理解。有什么更好的办法</p>
<p>我试过这个:</p>
<pre><code>a =
b =
...
def function(i)
for i in range(10):
function(i)
</code></pre>
<p>它似乎起作用了</p>
<p>令人沮丧的是,以下内容似乎不起作用,我也没有很好地理解为什么不这样做的在线解释:</p>
<pre><code>from somemodule import function
for i in range(10):
function(i)
</code></pre>
<p>其中函数的定义与上述相同。我不断得到一个“全局变量a,b,c。。。“找不到”错误</p>
<p>您是否尝试过这样指定变量:</p>
<pre><code>global a
global b
.....
</code></pre>
<p>否则,如果这些变量是在任何函数中声明的,则将其视为局部变量,并且其实例只能在声明的函数中使用。如果将其指定为全局,则可以在脚本中的任何位置使用它。<br/>
<strong>这是你遇到的唯一一个<em>错误</em>对吧?</strong></p>