推 bazoo: [x for x in dir() if isinstance(globals()[x], int)] 06/24 11:38
b大的方法可以不用到eval 可是區域變數一樣沒有在list中欸
我還特地把dir函數結果印出來 卻沒有發現到區域變數
→ bazoo: 這樣應該可行 06/24 11:39
※ 編輯: LessonWang (27.242.43.210), 06/24/2017 12:15:19
推 Sunal: 你這樣做的目的是? 06/24 13:08
推 Sunal: scope不一樣是要怎麼存取func內的變數 除非你加global 06/24 13:26
目的嗎 ?純粹只是想要知道有沒有哪些東西或目的是python做不到的 真的很崇拜開發許多python模組的前輩們 為解決問題 開發很多效能高的模組
※ 編輯: LessonWang (27.242.43.210), 06/24/2017 14:31:12
→ freeunixer: 新手就不要在那想洞想縫,老實一點把東西學好... 06/24 15:06
新手就不能有好奇心嗎xd?
而且也是邊問邊學啊 沒有不好吧xd
※ 編輯: LessonWang (27.242.43.210), 06/24/2017 15:23:20
→ zerof: 大家都看得懂在講什麼好厲害... 06/24 16:59
噓 freeunixer: 你式子跑完就被 gc 回收掉了,還有什麼區域變數可回傳? 06/24 17:19
→ freeunixer: 好奇心發作前,先把 variable scope 學好再講別的好嗎? 06/24 17:21
→ freeunixer: 你要是真的崇拜,也去學 C 替 python 寫模組, 06/24 17:26
→ freeunixer: 用 C 寫個可以傳出區域變數的函式就得了. 06/24 17:27
→ freeunixer: 加個 static 就能做到了,幹嘛來折騰物件導向的 Python 06/24 17:31
推 darkgerm: 要看到 local 變數可用 locals() 06/24 20:28
→ darkgerm: 但你的例子中,只要不是在func裡面,是不可能看到tot的 06/24 20:32
→ LessonWang: 所以不要以scope的觀念下去看 這題無解囉 沒有辦法把 06/24 22:21
→ LessonWang: 原本的code弄成string去用re分析? 06/24 22:21
→ darkgerm: Python 語法不是正規能夠分析的 06/25 14:08
→ darkgerm: 你可能要順便學一下 formal languages XD 06/25 14:08
好吧 我自討苦吃xd
※ 編輯: LessonWang (27.242.43.210), 06/25/2017 14:14:12
→ uranusjr: 真想分析可以用 ast, 不過這叫殺雞用牛刀... 06/25 14:19
抽象語法樹是個很不錯的工具xd
※ 編輯: LessonWang (27.242.43.210), 06/25/2017 16:02:16