本文共 1134 字,大约阅读时间需要 3 分钟。
目录
按变量定义位置分
# -*- coding: utf-8 -*-# @Time : 2021/4/8# @Author : 大海def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): # nonlocal 语句表明特定变量生存于外层作用域中并且应当在其中被重新绑定 nonlocal spam spam = "nonlocal spam" def do_global(): # global 语句可被用来表明特定变量生存于全局作用域并且应当在其中被重新绑定 global spam spam = "global spam" spam = "test spam" do_local() print("After local assignment:", spam) # test spam do_nonlocal() print("After nonlocal assignment:", spam) # nonlocal spam do_global() print("After global assignment:", spam) # nonlocal spamscope_test()# 局部 赋值(这是默认状态)不会改变 scope_test 对 spam 的绑定。 nonlocal 赋值会改变 scope_test 对 spam 的绑定,而 global 赋值会改变模块层级的绑定。print("In global scope:", spam) # global spam
转载地址:http://nyle.baihongyu.com/