简单了解python关键字global nonlocal区别

 更新时间:2020年09月21日 09:50:53   作者:python学习者0  
这篇文章主要介绍了简单了解python关键字global nonlocal区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。

第二,两者使用的范围不同。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未定义该变量,global修饰后也可以直接使用,而nonlocal关键字只能用于嵌套函数中,并且外层函数中定义了相应的局部变量,否则会发生错误(见第一)。

正常的

a = 1
def func():
  a = 10
  print(a)
func()
print(a)

运行结果:

10
1

使用global

a = 1
def func():
  global a
  a = 10
  print(a)
func()
print(a)

运行结果:

10
10

使用nonlocal

a = 1
def func():
  nonlocal a
  a = 10
  print(a)
func()
print(a)

运行结果:

10
0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python计算波峰波谷值的方法(极值点)

    python计算波峰波谷值的方法(极值点)

    这篇文章主要介绍了python求极值点(波峰波谷)求极值点主要用到了scipy库,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • python k-近邻算法实例分享

    python k-近邻算法实例分享

    这个算法主要工作是测量不同特征值之间的距离,有个这个距离,就可以进行分类了。简称kNN。
    2014-06-06
  • numpy模块中axis的理解与使用

    numpy模块中axis的理解与使用

    而在numpy中有很多的函数都涉及到axis,numpy中的轴axis是很重要的,许多numpy的操作根据axis的取值不同,作出的操作也不相同,这篇文章主要给大家介绍了关于numpy模块中axis的理解与使用的相关资料,需要的朋友可以参考下
    2022-03-03
  • python对比两个字典dict的差异详解

    python对比两个字典dict的差异详解

    这篇文章主要为大家详细介绍了python 如何对比两个字典dict的不同差异,文中的示例代码简洁易懂,具有一定的学习价值,感兴趣的可以了解一下
    2023-05-05
  • python 如何调用远程接口

    python 如何调用远程接口

    这篇文章主要介绍了python 如何调用远程接口,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-09-09
  • python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配

    python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配

    今天小编就为大家分享一篇python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • pycharm使用sftp同步服务器的步骤

    pycharm使用sftp同步服务器的步骤

    这篇文章主要介绍了pycharm使用sftp同步服务器,其实完全可以结合frp进行内网穿透,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • python实现数组求和与平均值

    python实现数组求和与平均值

    这篇文章主要介绍了python实现数组求和与平均值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • tensorflow使用神经网络实现mnist分类

    tensorflow使用神经网络实现mnist分类

    这篇文章主要为大家详细介绍了tensorflow使用神经网络实现mnist分类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python绘制高斯曲线

    python绘制高斯曲线

    这篇文章主要为大家详细介绍了python绘制高斯曲线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02

最新评论