Python 3.x变量作用域

    技术2024-10-23  26

    变量作用域

    case2:局部变量与全局变量同名

    x="i am global var" def fun(): x=100 print(x) fun() print(x) ***********output************ 100 i am global var >>>

    即便同名,函数内访问的变量就是函数内定义的局部var,函数外访问的就是全局var。跟其他语言一致,同名局部变量会屏蔽全局变量。 如果要在函数内fun()定义全局var? 在函数体内声明为全局var

    case3: x="i am global var" def fun(): global x x=100 print(x) fun() print(x) **********output****** 100 100 >>> >>>

    此时全局var x值被更新,在函数内部也可更改全局变量的值。

    如果直接在函数内声明全局变量global var,要在函数外访问该变量,前提是必须先执行一次函数调用,看下面case:

    def fun(): global x x="i am global var" print(x) print(x) fun() print(x) *******output************* Traceback (most recent call last): File "D:/Program Files/Python36/var.py", line 6, in <module> print(x) NameError: name 'x' is not defined >>> def fun(): global x x="i am global var" print(x) fun() #x = 100 print(x) **********output************ i am global var i am global var >>> def fun(): global x x="i am global var" print(x) fun() x = 100 print(x) *******output********* i am global var 100 >>>
    Processed: 0.011, SQL: 9