zoukankan      html  css  js  c++  java
  • python局部变量&全局变量

    全局变量:

      对于函数来讲,可以被引用,也可以“增删”(可变变量,列表、字典、集合),但不能被重新赋值:

    name = {1,2,3,45}
    def test():
        name.add(6)
        name.pop()
        print(globals())
        print(locals())
        print(name)
    test()
    #{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001FCE4B41910>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/pythondir/Day01/func.py', '__cached__': None, 'name': {2, 3, 6, 45}, 'test': <function test at 0x000001FCE4CF4040>}
    #{}
    #{2, 3, 6, 45}

      重新赋值(先调用,再重新赋值):

    name = {1,2,3,45}
    def test():
        name.add(6)
        name=6
        print(globals())
        print(locals())
        print(name)
    test()
    #Traceback (most recent call last):
      File "E:/pythondir/Day01/func.py", line 8, in <module>
        test()
      File "E:/pythondir/Day01/func.py", line 3, in test
        name.add(6)
    UnboundLocalError: local variable 'name' referenced before assignment

    局部变量:

      在函数内优先调用局部变量,没找到局部变量再调用全局变量

  • 相关阅读:
    命令行选项
    损坏的RAID5
    Codeforces Round #600 (Div. 2)
    python 数据分析
    xor or and 线段树
    CCPC哈尔滨E题
    二维偏序
    Codeforces Round #592 (Div. 2)
    Codeforces Round #597 (Div. 2)
    pycharm 安装激活
  • 原文地址:https://www.cnblogs.com/thanos-ryan/p/13335295.html
Copyright © 2011-2022 走看看