Python globals和locals函数_reload函数:
globals( ):
返回所有能够访问到的全局名字
num = 5 sum = 0 def add(num): func_sum = 0 func_sum += num return func_sum print(globals()) ‘‘‘ {‘__name__‘: ‘__main__‘, ‘__doc__‘: None, ‘__package__‘: None, ‘__loader__‘: <_frozen_importlib_external.SourceFileLoader object at 0x000001BA38F1DB08>, ‘__spec__‘: None, ‘__annotations__‘: {}, ‘__builtins__‘: <module ‘builtins‘ (built-in)>, ‘__file__‘: ‘D:/见解/Python/Python代码/vacation/备课/globals 和 locals函数.py‘, ‘__cached__‘: None, ‘num‘: 5, ‘sum‘: 0, ‘add‘: <function add at 0x000001BA3915B678>} ‘‘‘
locals( ):
在函数中使用 locals ,返回形参和局部变量
num = 5 sum = 0 def add(num): func_sum = 0 func_sum += num print(locals()) return func_sum add(num) # {‘num‘: 5, ‘func_sum‘: 5}
reload(模块名):reload 在 importlib 模块中
重新导入之前导入过的模块
注:当一个模块导入到另一个脚本时,模块顶层部分的代码只会被执行一次
# 重新导入模块 import func # 导入自定义的模块 from importlib import reload # reload 函数在 importlib 模块中 reload(func) # 重新导入 func 模块 from func import get_info get_info() # 获取到了 func 模块的信息
使用reload的前提,是reload的 模块,之前已经使用import或者from导入过,否则会失败
import 导入的模块,使用模块名.方法的方式,reload会强制运行模块文件,然后原来导入的模块会被新使用的导入语句覆盖掉
from 导入的模块,本质是一个赋值操作,即在当前文件中(即执行 from 语句的文件)进行 attr = module.attr
注:reload 函数对 reload 运行之前的from语句没有影响
2020-02-12
原文地址:https://www.cnblogs.com/hany-postq473111315/p/12299945.html
时间: 2024-10-09 10:00:43