python自由变量是什么

  • 更新时间:2021-08-08 08:36:13
  • 编辑:宰俊喆
本站收集了一篇相关的编程文章,网友殳景山根据主题投稿了本篇教程内容,涉及到Python相关内容,已被744网友关注,相关难点技巧可以阅读下方的电子资料。

参考资料

正文内容

无意中在网上看到《python自由变量是什么》,实例用法很详细,改了一下错误代码,为了方便大家的阅读。

python自由变量是什么

1、自由变量是指未绑定到本地作用域的变量。如果自由变量绑定的值是可变的,变量仍然可以在封闭包中操作。如果是不可变的(数字、字符串等。),在封闭包中重新绑定自由变量会出错。‘’

def make_averager():
count = 0
total = 0
def averager(new_value):
count += 1
total += new_value
return total / count
return averager
 
 
>>> avg = make_averager()
>>> avg(10)
Traceback (most recent call last):
...
UnboundLocalError: local variable 'count' referenced before assignment

2、为了将变量标记为自由变量,可以使用nonlocal语句进行声明,nonlocal语句可以解决。

def make_averager():
    count = 0
    total = 0
    def averager(new_value):
        nonlocal count, total   # 声明count、total为自由变量
        count += 1
        total += new_value
        return total / count
    return averager

以上就是python自由变量的介绍,希望对大家有所帮助。

相关教程

  • python shell怎么运行

    开始菜单里搜索python,点击python idle,再打开的idle中编写代码,即运行了python shell。此时是python的交互模式。

    发布时间:2019-06-27

  • Python中用户输入与while循环详情

    这篇文章主要介绍了Python中用户输入与while循环详情,,包括如何接收用户输入并进行处理,在程序满足一定的条件时让程序一直运行,通过获取用户输入并学会控制程序在用户想要结束时退出循环,即可编写出交互式程序,下文详细内容介绍,需要的朋友可以参考一下

    发布时间:2019-07-23

用户留言