返回信息流>>> x = 10
>>> def f1():
... print x
...
>>>
>>> def f2():
... x += 1
... print x
...
>>> f2()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in f2
UnboundLocalError: local variable 'x' referenced before assignment
>>>
>>> def f3():
... global x
... x += 1
... print x
...
>>> f3()
11
上面的几个例子,其设计思想是为了保护变量???
这是一条镜像帖。来源:北邮人论坛 / python / #10627同步于 2015/12/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
变量名解析
tycoon0
2015/12/28镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
>>> a = [1,2,3]
>>> def f():
... a.append(4)
...
>>> f()
>>> a
[1, 2, 3, 4]
列表为什么允许修改?
【 在 Dogless 的大作中提到: 】
:
: 这样是不会错的
: x=10
: ...................
是的 就是想闹明白 这么设计背后的设计思想啊
【 在 lomizandtyd 的大作中提到: 】
: http://bbs.byr.cn/#!article/Python/10466
: 哎?是不是和这个贴一个意思啊
【 在 tycoon0 的大作中提到: 】
: 是的 就是想闹明白 这么设计背后的设计思想啊
:
如果让你设计Python,你会如何设计呢?
我是让你站在语言设计者的立场上换位思考一下,想想“局部变量”、“非局部变量”、“全局变量”之间的关系,以及“闭包”对这些决策的影响。
【 在 tycoon0 的大作中提到: 】
: 有那水平 就不做码畜了 对吧
额。
【 在 nuanyangyang 的大作中提到: 】
: 我是让你站在语言设计者的立场上换位思考一下,想想“局部变量”、“非局部变量”、“全局变量”之间的关系,以及“闭包”对这些决策的影响。
: