您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否可以在外部范围而不是全局范围内的python中修改变量?

是否可以在外部范围而不是全局范围内的python中修改变量?

Python 3.x具有nonlocal关键字。我认为这可以满足您的要求,但是我不确定您是在运行python 2还是3。

非本地语句使列出的标识符引用最近的封闭范围中的先前绑定的变量。这很重要,因为绑定的认行为是首先搜索本地名称空间。该语句允许封装的代码在全局(模块)范围之外的本地范围之外重新绑定变量。

对于python 2,我通常只使用可变对象(如列表或dict),然后更改值而不是重新分配。

例:

def foo():
    a = []
    def bar():
        a.append(1)
    bar()
    bar()
    print a

foo()

输出

[1, 1]
python 2022/1/1 18:36:52 有358人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶