我是靠谱客的博主 奋斗嚓茶,最近开发中收集的这篇文章主要介绍python局部赋值的规则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

复制代码 代码如下:

  myVar = 1

def myfunc():
    myVar += 1

myfunc()
  


   会提示错误:

UnboundlocalError: local variable 'myVar' referenced before assignment

Python提出如下假设:如果在函数体内的任何地方对变量赋值,则Python将名称添加到局部命名空间中。

语句myVar += 1对名称myVar赋值,则myVar是函数myfunc的局部命名空间的一部分,而它当前没有关联值,所以会产生错误。

解决方法:使用global语句

复制代码 代码如下:

myVar = 1

def myfunc():
    global myVar
    myVar += 1

myfunc()

附作用域搜索规则:

L:本地的(Local)

E:封闭的(Eclosing)

G:全局的(Global)

B:内置的(Built-in) 

最后

以上就是奋斗嚓茶为你收集整理的python局部赋值的规则的全部内容,希望文章能够帮你解决python局部赋值的规则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(155)

评论列表共有 0 条评论

立即
投稿
返回
顶部