hor*_*_vr 0 python python-import
我有一个模块,其中定义了一些常量,并在多个函数中使用。我如何从我的主文件中覆盖它们的值?
说这是模块,test_import.py
MY_CONST = 1
def my_func(var = MY_CONST):
print(var)
Run Code Online (Sandbox Code Playgroud)
这是我的main.py文件:
import test_import
MY_CONST = 2
test_import.MY_CONST = 3
test_import.my_func()
Run Code Online (Sandbox Code Playgroud)
这段代码仍然打印“1”。我希望它打印一些其他值(显然,在调用时不传递值my_func())
默认值在函数定义时与函数本身一起存储;当不带参数调用函数时,不会在全局范围内查找它。
>>> test_import.my_func.__defaults__[0]
1
Run Code Online (Sandbox Code Playgroud)
如果您确实愿意,可以指定要使用的新默认值。
>>> test_import.my_func.__defaults__[0] = 9
>>> test_import.my_func()
9
Run Code Online (Sandbox Code Playgroud)