Python的命名空间和作用域

发布时间:2022-01-10 09:39:32 人气:119 作者:多测师

  变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。

  一个Python表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局部变量和一个全局变量重名,则局部变量会覆盖全局变量。

  每个函数都有自己的命名空间。类的方法的作用域规则和通常函数的一样。

Python的命名空间和作用域

  Python会智能地猜测一个变量是局部的还是全局的,它假设任何在函数内赋值的变量都是局部的。

  因此,如果要给全局变量在一个函数里赋值,必须使用global语句。

  global VarName的表达式会告诉Python, VarName是一个全局变量,这样Python就不会在局部命名空间里寻找这个变量了。

  例如,我们在全局命名空间里定义一个变量money。我们再在函数内给变量money赋值,然后Python会假定money是一个局部变量。然而,我们并没有在访问前声明一个局部变量money,结果就是会出现一个UnboundLocalError的错误。取消global语句的注释就能解决这个问题。

  #!/usr/bin/python

  # -*- coding: UTF-8 -*-

  Money = 2000

  def AddMoney():

  # 想改正代码就取消以下注释:

  # global Money

  Money = Money + 1

  print Money

  AddMoney()

  print Money

  以上内容为大家介绍了Python的命名空间和作用域,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/

上一篇:Python的文件模块
下一篇:Python的函数
返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线