Skip to main content
 首页 » 编程设计

python之在 python 函数中定义常量的最佳方式

2025年05月04日27itcoder

这可能是一个比实际问题更理论化的问题,因为它不会对程序的运行时间产生重大影响。至少在我的情况下不是。

我收到了一些导入不同(“自制”)函数的 python 代码。一个函数(称为 func)被主脚本(称为 ma​​in)调用了 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是每次调用函数时定义的,还是在运行ma​​in <时编译为字节码时“固定”的 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