这可能是一个比实际问题更理论化的问题,因为它不会对程序的运行时间产生重大影响。至少在我的情况下不是。
我收到了一些导入不同(“自制”)函数的 python 代码。一个函数(称为 func)被主脚本(称为 main)调用了 5 次。
在func 函数的开头定义了很多常量。例如:
import numpy as np
def func(x,y,z):
c0 = np.array([1,2,3])
c1 = np.array([1,2,3])
c2 = np.array([1,2,3])
c3 = np.array([1,2,3])
#do stuff with variables x,y,z
#return stuff
我想知道:调用这个函数时,常量c0,...,c3是每次调用函数时定义的,还是在运行main <时编译为字节码时“固定”的 strong> 脚本,以便它们只定义一次? 时编译为字节码时“固定”的>
请您参考如下方法:
c0、c1 等的范围仅限于func 方法。因此,每次调用该函数时,这些变量都会被初始化。
如果希望它们只初始化一次,然后每次调用时都在func中使用,可以在func方法外定义:
import numpy as np
c0 = np.array([1,2,3])
c1 = np.array([1,2,3])
c2 = np.array([1,2,3])
c3 = np.array([1,2,3])
def func(x,y,z):
#do stuff with variables x,y,z
#return stuff
