zoukankan      html  css  js  c++  java
  • Python globals和locals函数_reload函数

    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

  • 相关阅读:
    opencv访问图像像素
    利用chrome浏览器的proxy switchy扩展智能切换代理
    一些linux命令【ubuntu】
    如何从 Ubuntu 10.04 升级到 10.10
    关于“无法获得排它锁 ”的解决办法
    【ubuntu】Grub2配置详解(转)
    BibTeX使用介绍
    【ubuntu】imagemagick用法
    ubuntu环境下安装OpenCV
    安装wordpress
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12299945.html
Copyright © 2011-2022 走看看