作者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