很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。
- 内容介绍
- 文章标签
- 相关推荐
本文共计242个文字,预计阅读时间需要1分钟。
如何使用不同作用域和名称空间,以及`global`和`nonlocal`对变量绑定的影響:
pythondef scope_test(): def do_local(): spam=local spam
def do_nonlocal(): nonlocal spam spam=nonlocal spam
spam=global spam do_local() do_nonlocal() print(spam)
如何引用不同作用域和名称空间,以及global和nonlocal对变量绑定的影响:
def scope_test():def do_local():
spam = "local spam"
def do_nonlocal():
nonlocal spam
spam = "nonlocal spam"
def do_global():
global spam
spam = "global spam"
spam = "test spam"
do_local()
print("After local assignment:", spam)
do_nonlocal()
print("After nonlocal assignment:", spam)
do_global()
print("After global assignment:", spam)
scope_test()
print("In global scope:", spam)
示例代码的输出是:
After local assignment: test spamAfter nonlocal assignment: nonlocal spam
After global assignment: nonlocal spam
In global scope: global spam
注意,局部赋值(这是默认状态)不会改变scope_test对spam的绑定。nonlocal赋值会改变scope_test对spam的绑定,而global赋值会改变模块层级的绑定。
而且,global赋值前没有spam的绑定。
本文共计242个文字,预计阅读时间需要1分钟。
如何使用不同作用域和名称空间,以及`global`和`nonlocal`对变量绑定的影響:
pythondef scope_test(): def do_local(): spam=local spam
def do_nonlocal(): nonlocal spam spam=nonlocal spam
spam=global spam do_local() do_nonlocal() print(spam)
如何引用不同作用域和名称空间,以及global和nonlocal对变量绑定的影响:
def scope_test():def do_local():
spam = "local spam"
def do_nonlocal():
nonlocal spam
spam = "nonlocal spam"
def do_global():
global spam
spam = "global spam"
spam = "test spam"
do_local()
print("After local assignment:", spam)
do_nonlocal()
print("After nonlocal assignment:", spam)
do_global()
print("After global assignment:", spam)
scope_test()
print("In global scope:", spam)
示例代码的输出是:
After local assignment: test spamAfter nonlocal assignment: nonlocal spam
After global assignment: nonlocal spam
In global scope: global spam
注意,局部赋值(这是默认状态)不会改变scope_test对spam的绑定。nonlocal赋值会改变scope_test对spam的绑定,而global赋值会改变模块层级的绑定。
而且,global赋值前没有spam的绑定。

