这可能是一个比实际问题更理论化的问题,因为它不会对程序的运行时间产生重大影响。至少在我的情况下不是。
我收到了一些导入不同(“自制”)函数的 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
关于python - 在 python 函数中定义常量的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37431311/