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

         

具体代码如下:

# 方式一:利用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

 

posted on 2018-01-17 18:57  海燕。  阅读(412)  评论(0编辑  收藏  举报