一、global

global关键字用来在函数或其他局部作用域中使用全局变量。

1.1 如果局部要对全局变量修改,而不使用global关键字。

count = 0
def global_test():count += 1print(count)
global_test()

会出现如下错误:

1.2 如果局部要对全局变量修改,应在局部声明该全局变量。

count = 0
def global_test():global countcount += 1print(count)
global_test()

以上输出为:1

 注意:global会对原来的值(全局变量)进行相应的修改

count = 0
def global_test():global countcount += 1print(count)
global_test()
print(count)

以上输出为:1,1

1.3 如果局部不声明全局变量,并且不修改全局变量,则可以正常使用。

count = 0
def global_test():print(count)
global_test()

以上输出为:0

二、nonlocal

nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。

def nonlocal_test():count = 0def test2():nonlocal countcount += 1return countreturn test2val = nonlocal_test()
print(val())
print(val())
print(val())

以上输出为:1,2,3

Python学习:关键字global和nonlocal的用法说明相关推荐

  1. Python中关键字global与nonlocal的区别

    终于下定决心学习Python了.既然从头开始,就需要认认真真. 首先需要说的是,我是初学Python,这篇文章只是用于展示global和nonlocal关键字的区别,是很简单的知识点,如果你已经学过, ...

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

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

  3. Python关键字 global与nonlocal

    Python关键字 global与nonlocal global def test():#1函数内如果没定义x,则x默认为全局变量print(x) # 输出 global v#2函数内如果定义x,则x ...

  4. [转载] python不允许使用关键字_Python中关键字global与nonlocal的区别

    参考链接: Python全局关键字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xCyansun/article/details/79672634 ...

  5. python global和nonlocal_Python Global和Nonlocal的用法

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

  6. Python手记:global 和 nonlocal的区别

    文章目录 序 一.Python的定义域 二.global的作用 三.nonlocal的作用 四.闭包 总结 序 学习过程中,我们会遇到两个有趣的关键字,一个是global,一个是nonlocal. 如 ...

  7. Python 关键字 global、nonlocal、yield用法

    1. global global 关键字用于表示某个变量是属于全局的,而不是局部变量.先看个例子: In [82]: x = 10In [83]: def func():...: x += 1...: ...

  8. python local global_python global与nonlocal关键字

    函数作用域 a = 1 print("函数outer调用之前全局变量a的内存地址: ", a , id(a)) def outer(): a = 2 print("函数o ...

  9. python 中关键字 global 的用法

    前言 Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部将其声明其为global 变量.添加了global关键字后,则可以在函数内部对函数外的对象进行操作了,也可以改变它 ...

最新文章

  1. Hystrix概述(二)
  2. python解压文件到指定路径
  3. Java写入Excel文件
  4. Doxygen with Graphviz to generate call graph on Mac
  5. 华语名嘴乌镇较劲 李咏有价值汪涵有才智
  6. JProfiler分析内存泄漏
  7. Win10 新机,这些必装软件你拥有了吗?
  8. webshell检测方法归纳
  9. 1017 怪盗基德的滑翔翼(最长上升子序列扩展)
  10. 街篮最新服务器,街头篮球各区的服务器IP多少
  11. visual c 2008 php,十步之遥顺利升级到Visual Studio 2008
  12. 计算机u盘 硬盘无法读取,U盘在电脑上读取不出来怎么办?
  13. 区块链+珠宝供应链金融:除了解决信任问题,他们想让数字资产流动起来
  14. 时间转换 秒(s)转 ()天 ()小时() 分钟 ()秒
  15. CCF201509-1数列分段(C语言)
  16. SQL开发管理工具,SQL Studio成数据库管理工具热门
  17. 3.10 Maya历法
  18. 关于计算机的英语小品,英文好玩简短的小品
  19. Redis基础使用(四)——缓存优化
  20. 供应商质量工程师(SQE)是做什么的?

热门文章

  1. 使用PyTorch搭建CNN神经网络
  2. 大数据算法系列12:图论算法
  3. HDU2639 01背包 第K优决策
  4. Jenkins入门教程之--构建软件项目
  5. java中的单例模式:懒汉式和饿汉式和静态内部类的书写
  6. 作文未来计算机400字,未来作文400字大全
  7. 将eFPGA应用于嵌入式360度视域视觉系统中
  8. 论文阅读笔记(4-1)---基于深度神经网络的动态心电图心律不齐检测与分类
  9. 移动CRM系统让销售工作更顺利展开
  10. vue 中input的输入验证