作者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/cn.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