python-global和nonlocal区别
# L = Local 局部作用域 # E = Enclosing 嵌套作用域 # N = nonlocal 只作用于嵌套作用域,而且只是作用在函数里面 # G = global 全局作用域 # B = Built-in 内置作用域 """ locals()函数返回一个当前位置的所有局部变量的字典 globals()函数返回一个全局变量的字典,包括所有导入的变量 local设置局部变量,local需在函数体内设置;在函数体内声明的变量,默认都是局部变量 global设置为全局变量,global需在函数体内设置; global同时还可以定义新的全局变量 nonlocal 声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。nonlocal需在内层函数中使用 ,nonlocal不是定义新的外层函数变量(内层函数改变外层函数变量值) """ def test(c): global a a=10 b=20 print(a,b) print('局部变量',locals()) def inner(*args, **kwargs): nonlocal c print(c+30) return inner() test(1) print('全局变量',globals())
""" 自动化参数传递 1.参数提取 2.参数存储 3.参数引用 """ #内存存储变量(参数传递) a='12232' s = globals() print(s['a']) #变量池 saves = {'a':'1233'} print(s['a'])
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人