python 闭包
2014-04-26 10:24
232 查看
def a(): l=[] def set_l(): l.append(1) def get_l(): print l return set_l, get_l
s,g = a() In [4]: g() [] In [5]: s() In [6]: s() In [7]: g() [1, 1]
为什么说python的闭包只读, 以上明明可以改变l, 我想和函数参数一样,分为可变和不可变
int类型 不可变
In [20]: a=[2,4,5] In [21]: a[1]+=1 In [22]: a Out[22]: [2, 5, 5] In [23]: id(a[1]) Out[23]: 31095920 In [24]: a[1]+=1 In [25]: id(a[1]) Out[25]: 31095908
相关文章推荐
- 通过Python领悟闭包的奥秘
- python3 闭包
- 流程的Python 第七章:函数装饰器和闭包
- python中闭包中变量的影响因素
- python基础-闭包、装饰器
- 【Python】 闭包&装饰器
- Python闭包及其作用域
- Python 函数式编程 闭包
- Python闭包详解
- Python(2.7.6) 函数对象与闭包
- Python闭包的概念、形式与应用
- Python深入04 闭包
- python中的闭包练习
- 关于Python中闭包与装饰器的理解
- python函数基础(2)-----内置函数、作用域、闭包、递归
- Python中的闭包总结
- python中的闭包
- python 闭包和装饰器
- python 中闭包理解,及函数string.maketrans(),string.translate()
- python 闭包