函数的嵌套
函数的互相调用 def func1(): print("我是神器的func1") def func2(): func1() print("我是神器的func2") def func3(): print("我是神器的func3") # func5() def func4(): func3() print("我是神器的func4") def func5(): func2() func3() print("我是神器的func5") def func6(): func5() print("我是神器的func6") func3() func1() func6()
# def outer(): # def inner(): # print("我的天哪") # print("还可以这样写???") # inner() # # outer() # inner() # 在全局不能找到局部的内容 # def func1(): # print("1") # def func2(): # print("2") # def func3(): # print("3") # print("4") # func3() # print(5) # print("6") # func2() # print("7") # # func1() # 全局变量一般是不能随意的修改的 # a = 10 # def func(): # # 慎用. # global a # global 表示从全局把一个变量引入到局部, 后面使用的a都是全局变量 # a += 10 # ?? a = a + 10 # 现在的a是全局的, 你现在视图改全局变量 # print("里面的打印",a) # func() # print("外面的打印", a) # a = 10 # def func(): # def inner(): # # 慎用. # global a # global 表示从全局把一个变量引入到局部, 后面使用的a都是全局变量 # a += 10 # ?? a = a + 10 # 现在的a是全局的, 你现在视图改全局变量 # print("里面的打印",a) # inner() # func() # print("外面的打印", a) # nonlocal 在局部, 寻找离他最近的外层的一个变量 # a = 50 # def func1(): # # a = 10 # 局部 # def func2(): # nonlocal a # 不找全局, global找全局 # a += 10 # a = a + 10 python不让这么干 # print("func2", a) # func2() # print(a) # func1() # print(a) # 如果没有nonlocal和global 查找的顺序: 自己, 上一层, 上一层, 上一层 # def func0(): # a = 50 # def func1(): # a = 10 # 局部 # def func2(): # nonlocal a # 不找全局, global找全局 # a += 10 # a = a + 10 python不让这么干 # print("func2", a) # func2() # print(a) # func1() # print(a) # func0() # a = 1 # def fun_1(): # a = 2 # def fun_2(): # nonlocal a # a = 3 # def fun_3(): # a = 4 # print(a) # print(a) # fun_3() # print(a) # print(a) # fun_2() # print(a) # print(a) # fun_1() # print(a) flag = False def login(): global flag uname = input("用户名:") upwd = input("密码:") if uname == "alex" and upwd == "123": flag = True else: flag = False def fatie(): if flag == True: print("可以发帖") else: print("滚去登录") login() fatie() fatie() fatie() fatie()