# 函数内部的变量，只能在函数内部使用，不同的函数内部可以有同名的变量，但互不影响。
# 全局变量：所有函数都可以调用，但是函数内部不允许修改全局变量的值，全局变量尽可能放到函数上方，这样所有的函数都可以使用了。
# 一般全局变量的命名前都要加g_或者gl_，便于代码阅读，同时也是为了和局部变量进行区分
gl_all = 100


def demo1():
    num = 10
    # 重新给全部变量赋值，是否可以执行，如果不加global就认为是局部变量。
    #all = 88
    global gl_all
    gl_all = 77
    # 如果函数内部使用global 声明为全局变量，就可以在函数内部修改全局变量的值。
    print(num, gl_all)  # all :88 重新定义一个局部变量，只是名字和全局变量一致，但是不会修改全局变量的值，该函数执行完后，局部变量就会被系统回收


def demo2():
    num = 12
    print(num, gl_all)  # all: 100  全局变量


demo1()
demo2()
