首页 > 其他分享 >84:nonlocal_global

84:nonlocal_global

时间:2022-11-19 14:45:20浏览次数:49  
标签:outer python global nonlocal inner print 84

###nonlocal 关键字

nonlocal 用来声明外层的局部变量。
global 用来声明全局变量。

【操作】使用 nonlocal 声明外层局部变量

# 测试 nonlocal、global 关键字的用法
a = 100


def outer():
    b = 10

    def inner():
        nonlocal b  # 声明外部函数的局部变量
        print("inner b:", b)
        b = 20
        global a  # 声明全局变量
        a = 1000
    
    inner()
    print("outer b:", b)


outer()
print("a:", a)

输出结果:

D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy20.py 
inner b: 10
outer b: 20
a: 1000

 

标签:outer,python,global,nonlocal,inner,print,84
From: https://www.cnblogs.com/yuanzijian/p/16906075.html

相关文章

  • JavaScript_对象_Global与DOM简单学习
    JavaScript_对象_GlobalGlobal:全局对象1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();2.方法......
  • npm WARN config global `--global`, `--local` are deprecated. Use `--location 的
    1.背景2.解决步骤2.1.找到nodejs的安装路径 2.2.修改配置文件将文件里的prefix-g改为prefix--location=global 修改前: 修改后: 点击保存就解决了注意,......
  • POJ 1845Sumdiv(数论)
    SumdivTimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:20041 Accepted:5060DescriptionConsidertwonaturalnumbersAandB.LetSbethesumof......
  • Global Mapperv17 裁剪dem并导出等高线
    1、加载dem数据数据投影2、加载shp范围3、选中范围数据4、裁剪5、生成等高线6、导出等高线矢量......
  • JavaScript对象-Global
    1.特点:全局对象这个Global中封装的方法不需要对象就可以直接调用方法名2.方法encodeURI():url编码decodeURI():url解码encodeURIComponent():url编码,编码的字符更......
  • JavaScript对象RegExp1和GloBal
    JavaScript对象_RegExp1RegExp:正则表达式对象1.正则表达式:定义字符串的组成规则1.单个字符:[]如:[a][ab][a-zA-Z0-9]......
  • CF484E
    考虑二分最小值,设当前二分出的值为\(x\)。那么把区间中\(\gex\)的变成\(1\),其余变为\(0\),那么就是查询区间内最长全\(1\)区间长度是否\(\gek\)。这个类似于区......
  • CF484D
    首先需要发现一个性质,每个串都是单调的,因为一个不单调的串一定可以拆分成若干个单调的串,并且不劣。于是用DP处理出两个单调串相交的点分给哪个串即可。具体的话就是设......
  • P8436 【模板】边双连通分量
    P8436【模板】边双连通分量//这个是看边和点,而不是看点和点#include<bits/stdc++.h>usingnamespacestd;constintN=5e5+5;constintM=2e6+5;inth[N],ne[M<<1......
  • P8435 【模板】点双连通分量
    P8435【模板】点双连通分量#include<bits/stdc++.h>usingnamespacestd;constintN=5e5+5;constintM=4e6+6;inth[N],ne[M],e[M],tot;voidadd(intfrom,int......