zoukankan      html  css  js  c++  java
  • python 中locals() 和 globals()的区别

    1.locals() 和 globals() 是python 的内建函数,他们提供了字典的形式访问局部变量和全局变量的方式。

    locals:表示返回当前作用域中的局部变量
    globals:表示返回当前作用域的全局变量
    >>> def test(num):
    ...     a=1
    ...     b=2
    ...     print(locals())
    ...     print(globals())
    ...
    >>> test(5)
    {'num': 5, 'a': 1, 'b': 2}
    {'__name__': '__main__', '__doc__': None, '__package__': None,
     '__loader__': <class '_frozen_importlib.BuiltinImporter'>,
     '__spec__': None, '__annotations__': {},
     '__builtins__': <module 'builtins' (built-in)>, 'a': <function a at 0x000001501E43C1E0>,
     'test': <function test at 0x000001501E773378>}

    2.locals() 返回是当前局部变量的深拷贝,修改locals() 中变量值的时候,实际上对于原变量本身是没有任何影响的。而globals()返回的是全局变量的字典,修改其中的内容,值会真正的发生改变。

    >>> num=1
    >>> def test2():
    ...     a=2
    ...     locals()["a"]=3
    ...     print("a=%s"%a)
    ...     globals()["num"]=6
    ...     print("num=%s"%num)
    ...
    >>> test2()
    a=2
    num=6
    每天进步一点,遇见更好的你!
  • 相关阅读:
    Client-Side Attacks
    Web Penetration Testing w3af fierce
    解决kali linux 升级后安装w3af 问题
    Metasploit (二)
    Metasploit
    Dig skipfish proxystrike
    Web Penetration Testing
    Wireless Penetration Testing(命令总结)
    LabView(控件部分)
    Wireless Penetration Testing(7-11 chapter)
  • 原文地址:https://www.cnblogs.com/ganiner/p/11047469.html
Copyright © 2011-2022 走看看