作者martin7887 (martin)
看板Python
標題[問題] 執行 LIST 裡的副程式
時間Thu Dec 27 15:41:25 2018
請問有辦法用 list 把副程式裝起來,
然後用index 的方式執行嗎?
fnList =[fn1(),fn2()]
fnList[1] #執行 fn2()
我這樣執行的結果是 fnList 裡的副程式會全部執行一次
fnList[1] 的不會執行
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.73.76
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1545896488.A.C5E.html
※ 編輯: martin7887 (220.132.73.76), 12/27/2018 15:42:07
1F:推 wlsh5701: fnList = [fn1, fn2] fnList[1]() 12/27 15:50
2F:→ wlsh5701: fnList =[fn1(),fn2()] 是將 fn1, fn2 跑一遍後將回傳值 12/27 15:50
3F:→ wlsh5701: 放入 list 中 12/27 15:51
4F:推 sma1033: list只是一個連結傳送門,連到你自己定義的東西 12/27 16:30
5F:推 cutekid: 推 w 大,原來是這樣用! 12/27 16:31
6F:→ martin7887: 非常謝謝 12/27 19:05
7F:→ Wizarc: 新手發文,好奇這類寫法的應用 12/27 23:13
8F:推 jiyu520: 多確定被引用或調用的變數型態,或內容噢 12/28 13:13
9F:推 TitanEric: 一樓正解 這方法另一個應用是用dict map method,就是s 12/28 13:16
10F:→ TitanEric: witch case, 很好用,個人覺得可讀性,不會有太多if e 12/28 13:16
11F:→ TitanEric: lse 12/28 13:16
12F:→ TitanEric: 補充 可讀性高 12/28 13:16
13F:→ Wizarc: 不太了解,要執行指定的method前,不就要寫if else 12/28 14:02
14F:推 jiyu520: 可以查一下"工廠模式"和"抽象工廠模式" 12/28 15:17
15F:→ jiyu520: 1) 取出py檔內所有function的命名 12/28 15:21
16F:推 jiyu520: 2) 製作一個mapping dict {'func_name': func} 12/28 15:23
18F:推 extraymond: 設計模式好站分享,裡面的範例中幾乎都有python範例 01/05 14:32