函数的嵌套
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 函数的互相调用 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() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | # 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() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程