前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】python自由变量是什么

【说站】python自由变量是什么

作者头像
很酷的站长
发布2022-11-24 15:43:41
6320
发布2022-11-24 15:43:41
举报
文章被收录于专栏:站长的编程笔记

python自由变量是什么

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

代码语言:javascript
复制
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语句可以解决。

代码语言:javascript
复制
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自由变量的介绍,希望对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python自由变量是什么
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档