这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  • global和nonlocal是Python的两个重要变量作用域关键字

1.global用在全局变量,应用场景:

变量定义在函数外部的时候,如果函数里面想改变这个全局变量的值,需要在当前的引用函数里面重新定义一个变量 并用关键字global修饰。

例如:

a=1
def b():a+=1print(a)
b()

用ide写完这段代码的时候,还没运行就会报红线提示错误,运行之后产生错误,错误内容为:UnboundLocalError: local variable 'a' referenced before assignment

解决方案:函数中重新声明变量并加修饰符global修改:

#!/usr/bin/env python
# encoding: utf-8
a=1
def b():global aa+=1print(a)
b()

2.nonlocal非全局变量,应用场景:

在函数的函数里面使用函数的变量。表达的可能有点混乱,看代码就知道了

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def b():num2=1def c():nonlocal num2#为了修改非全局变量num2+=2print(num2)return c
b()()

3.综合应用

#!/usr/bin/env python
# encoding: utf-8
gcount = 0
<p>def global_test():<br>
global gcount<br>
s=0<br>
def g():<br>
nonlocal s<br>
s+=2<br>
print(s)<br>
return g<br>
gcount+=1<br>
print (gcount)<br>
global_test()()</p>

python global和nonlocal用法解析相关推荐

  1. python nonlocal的用法_python global和nonlocal用法解析

    这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ◆global和nonloca ...

  2. python global和nonlocal_python global和nonlocal用法解析

    python global和nonlocal用法解析 这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 ...

  3. python中global和nonlocal用法的详细说明

    1.前言 第一,两者的功能不同.global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数 ...

  4. 初学者python笔记(字符串用法解析)

    文章目录 1. 布尔值方面 2. int()方法后面可以带参数 3. bit_lenth()方法 4. 字符串变换大小写.字符串占格 5. 字符串的去除空格.某个字符 6. 数字字符在字符串中出现的次 ...

  5. [转载] 初学者python笔记(字符串用法解析)

    参考链接: Python中的casefold()字符串 文章目录 1. 布尔值方面2. int()方法后面可以带参数3. bit_lenth()方法4. 字符串变换大小写.字符串占格5. 字符串的去除 ...

  6. python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解

    文章目录 train_test_split()用法 获取数据 划分训练集和测试集 完整代码脚手架 train_test_split()用法 python机器学习中常用 train_test_split ...

  7. python legb_Python变量作用域LEGB用法解析

    这篇文章主要介绍了Python变量作用域LEGB用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 闭包就是, 函数内部嵌套函数. 而 装饰器只 ...

  8. Python实用技巧:global关键字的用法详解

    这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先 ...

  9. python中global和def_Python中 Global和Nonlocal的用法详解

    nonlocal 和 global 也很容易混淆.简单记录下自己的理解. 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值. global 语句是一个声明,它适用于整个当 ...

最新文章

  1. UIBarButtonItem使用困惑
  2. java 拖拽生成_JAVA UI 拖拽功能
  3. 100. 相同的树 golang
  4. python的pygame库使用方法_[宜配屋]听图阁
  5. ios 画线平滑_iOS 画贝塞尔曲线 连续曲线 平滑曲线 曲线图表
  6. Java笔记-Spring中RabbitMQ的调用
  7. 少一些计较多_做人,少一点套路,多一些真诚,少一点计较,多一些宽容
  8. MarkDown(七)——LaTeX数学公式符号标记
  9. 计算机网络考前,《计算机网络原理》--考前复习资料.doc
  10. 软件工程:数据流图,数据字典的画法,以及如何转化为软件结构图
  11. 什么是社会融资规模,M0、M1、M2?
  12. 利用R语言进行探索性数据分析(EDA)
  13. 生成万花筒效果并截图
  14. Java 大文件分片上传
  15. WebDAV之葫芦儿·派盘+Xplore
  16. PhpStorm2019 代码自动换行
  17. 读书笔记:《好团队激活个人--猫鼬教你如何带团队》
  18. 胡凡 《算法笔记》 上机实战训练指南 3.1 简单模拟
  19. JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
  20. 【云原生】Docker仓库详细讲解,搭建使用 Docker Registry 私服

热门文章

  1. 揭秘阿里人工智能实验室首款智能音箱——天猫精灵X1
  2. MyEclipse将Java项目打包成jar文件的三种方法
  3. SQL JOIN的用法
  4. secureCRT的安装及破解
  5. Fedora19 搭建LAMP环境
  6. 编程的一些快捷键(转帖)
  7. 在ssh项目中的中配置数据源c3p0
  8. 使用Git工具下载android源码---带步骤
  9. [Rails.Test.Prescriptions]系列之一:0基础的Test Rails...
  10. vi/vim基本使用方法