[問題] 存取上一層的變數

看板Python作者 (Ar藤)時間15年前 (2009/06/16 07:21), 編輯推噓6(603)
留言9則, 5人參與, 最新討論串1/1
小弟有一個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

06/16 09:34, , 1F
寫成class吧 用self
06/16 09:34, 1F

06/16 13:37, , 2F
可以直接寫阿 為什麼要丟?
06/16 13:37, 2F

06/16 13:45, , 3F
可以直接寫+1, 不然就用inspect module
06/16 13:45, 3F

06/16 20:48, , 4F
我在寫之前 必須先refferce它判斷大小 變就不行了
06/16 20:48, 4F

06/17 00:53, , 5F
變數要寫再函數之前
06/17 00:53, 5F

08/28 03:45, , 6F
在nested function 可以rebind x, y, z嗎?
08/28 03:45, 6F

08/28 03:46, , 7F
確定可以讀..rebind時不會有問題嗎?
08/28 03:46, 7F

08/28 03:54, , 8F
實驗的結果好像是 list可以讀 或.append()操作
08/28 03:54, 8F

08/28 03:54, , 9F
但是rebind (assign)就會有問題 會被當local variable?
08/28 03:54, 9F
文章代碼(AID): #1ADjUIRS (Python)