【说站】python自由变量是什么
2023-06-13 09:13:23 时间
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 字符串(字符序列)和字节序列
- python qt是什么_初识Python与Qt「建议收藏」
- python常用面试题_Python+Selenium 常见面试题整理[通俗易懂]
- java与python-如何对比Python和Java,只需三分钟告诉你!
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python变量中self的添加
- Python实现自动回复_python 微信机器人
- Python的特点是什么_python具有的特点
- python attrs_Python attrs作用是什么?
- Python多行注释/取消注释快捷键
- eval在python中是什么意思_如何在Python中使用eval ?
- python-Python与MongoDB数据库-使用Python执行MongoDB查询(一)
- 深度解析Python垃圾回收机制(超级详细)
- Python互斥锁(Lock):解决多线程安全问题
- 如何在Linux上将Python脚本设置为后台运行?(linux后台运行python)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- 小结Python用fork来创建子进程注意事项