What is the difference between non local variable and global variable? Python
What is the difference between non local variable and global variable?
回答1
"nonlocal" means that a variable is "neither local or global", i.e, the variable is from an enclosing namespace (typically from an outer function of a nested function).
An important difference between nonlocal and global is that the a nonlocal variable must have been already bound in the enclosing namespace (otherwise an syntaxError will be raised) while a global declaration in a local scope does not require the variable is pre-bound (it will create a new binding in the global namespace if the variable is not pre-bound).
回答2
The nonlocal variables are present in a nested block. A keyword nonlocal is used and the value from the nearest enclosing block is taken. For example:
def outer():
x = "local"
def inner():
nonlocal x
x = "nonlocal"
print("inner:", x)
inner()
print("outer:", x)
The output will be "nonlocal" both the times as the value of x has been changed by the inner function.
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-10-29 TortoiseGit with openssh key not authenticating using ssh-agent
2021-10-29 parsing @ in MVC javascript section? [duplicate]
2021-10-29 Git SSH public key authentication failed with git on Azure DevOps
2020-10-29 Difference between dict and set (python)
2014-10-29 Exception.StackTrace