Python3基础之(十 三)全局变量&局部变量

版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/84137424

一、局部变量

def 中, 我们可以定义一个局部变量, 这个变量 a 只能在这个功能 func中有效, 出了这个函数,a 这个变量就不是那个局部的 a.

def func():
    a=10
    print(a)

if __name__=='__main__':
    func()

下面这个例子在func外使用func里面定义的局部变量就会出错,但是全局变量在任何地方都可以使用。

q=14    #全局变量
def func():
    a=10#局部变量
    print(a)

if __name__=='__main__':
    print(q)#输出全局变量
    print(a) # 报错, 不能拿到一个局部变量的值
NameError: name 'a' is not defined

二、全局变量

那如何在外部也能调用一个在局部里修改了的全局变量呢. 首先我们在外部定义一个全局变量 a=None, 然后再 fun()中声明 这个a 是来自外部的a. 声明方式就是global a. 然后对这个外部的 a修改后, 修改的效果会被施加到外部的 a 上. 所以我们将能看到运行完 fun(), a 的值从 None 变成了20.

APPLY = 100 # 全局变量
a = None
def fun():
    global a    # 使用之前在全局里定义的 a
    a = 20      # 现在的 a 是全局变量了
    return a+100

print(APPLE)    # 100
print('a past:', a)  # None
fun()
print('a now:', a)   # 20

猜你喜欢

转载自blog.csdn.net/PoGeN1/article/details/84137424