关键字 global和nonlocal

globale 表示从全局把一个变量(比如a)引入局部,后面的变量全是此变量a

  使用   globale 变量名

# 全局变量一般是不能随意的修改的
# a = 10
# def func():
#     # 慎用.
#     global a  # global 表示从全局把一个变量引入到局部, 后面使用的a都是全局变量
#     a += 10 #  a = a + 10 # 现在的a是全局的, 你现在视图改全局变量
#     print("里面的打印",a) #20
# func()
# print("外面的打印", a)  #20

nonlocal  在局部寻找离他最近的外层的一个变量

  使用 nonlocal 变量名

a = 50
def func1():
    a = 10 # 局部
    def func2():
        nonlocal a # 不找全局, global找全局
        a += 10
        print("func2", a) #20
    func2()
    print(a) #20
func1()
print(a) #50

使用global模拟登陆

flag = False

def login():
    global flag
    uname = input('输入用户名')
     upwd= input('输入密码')
    if uname == '李雷'and upwd =='韩梅梅':
        flag =True
    else:
        flag = False

def fatie():
    if flag =True:
        print('可以发帖')
    else:
        print('去登陆')


login()
fatie()
原文地址:https://www.cnblogs.com/l1222514/p/13940461.html