作者Arton0306 (Ar藤)
看板Python
标题存取上一层的变数
时间Tue Jun 16 07:21:52 2009
小弟有一个function类似下面这样
def a():
def b():
blabla...
b()
x=[100]
y=[200]
z=[300]
b()
也就是a里面有个b 而且b是个递回函数
且b之中 会
修改x,y,z的值
请问有没有不用把x,y,z丢到b之中就能修改x,y,z的方法??
(python 2.5.2)
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.229.83
1F:推 superGA:写成class吧 用self 06/16 09:34
2F:推 StubbornLin:可以直接写阿 为什麽要丢? 06/16 13:37
3F:推 Lucemia:可以直接写+1, 不然就用inspect module 06/16 13:45
4F:→ Arton0306:我在写之前 必须先refferce它判断大小 变就不行了 06/16 20:48
5F:推 superGA:变数要写再函数之前 06/17 00:53
6F:推 sorryChen:在nested function 可以rebind x, y, z吗? 08/28 03:45
7F:→ sorryChen:确定可以读..rebind时不会有问题吗? 08/28 03:46
8F:推 sorryChen:实验的结果好像是 list可以读 或.append()操作 08/28 03:54
9F:→ sorryChen:但是rebind (assign)就会有问题 会被当local variable? 08/28 03:54