欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

全局变量和局部变量迷惑人的小示例

程序员文章站 2022-03-21 15:55:13
一、自己定义的一个局部变量,为什么在函数里面就显示没定义呢?请看下面分析 具体代码如下: ......

一、自己定义的一个局部变量,为什么在函数里面就显示没定义呢?请看下面分析

全局变量和局部变量迷惑人的小示例         全局变量和局部变量迷惑人的小示例

具体代码如下:

# 方式一:利用global强转一下
a = 1
def xxx():
    print(123)
    # global a
    a = a+3
    print(a)   #4
xxx()
print(a)  #4

#方式二:
a = [1]
def xxx():
    print(123)
    a[0] = a[0]+3
    print(a)   #[4]
xxx()
print(a)  #[4]

#方式三
class Foo:
    pass

a = Foo()
a.n = 1
def xxx():
    print(123)
    a.n = a.n +3
    print(a.n)  #4
xxx()
print(a.n)  #4