[問題] 有關function的一些問題

看板Python作者 (give me someone to shoo)時間11年前 (2014/03/14 00:08), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
版上的大家好,斷斷續續接觸python大概一年多 目前使用過簡單的python語法寫一些程式 有幾個問題想請問一下, 1. 多個function共用變數該怎麼去寫比較好? 兩個或三個function都會用到一樣的東西(假設共同部分有20行之類的) <f0.py> def generate(): var0 = 123 list0 = [1,2] ... f0_descriptions.... return str <f1.py> def generate(): var0 = 123 list0 = [1,2] ... f1_descriptions..... return str <gen.py> import f0,f1 ff0 = open('a0','w') ff1 = open('b0','w') ff0.write(f0.gen(xxx)) ff1.write(f1.gen(xxx)) ff0.close() ff1.close() 有甚麼比較簡潔的方法可以讓我達成我的目的? 就是不用每個function都傻傻的寫一樣的變數宣告, 然後改的時候三個都要一起改@_@ 2. 有人會用 在function裡面在宣告一個function 這種用法嗎 譬如 def f00(): def in_f00(): a = b = 1 ... f00_descriptions..... c = d = 2 gogo = in_f00(xxxx,xxxx) 3. 通常大家都怎麼判斷自己寫的程式夠不夠簡單快速明瞭呢? 是持續的看python的書?多看一些實用的function (這問題只是剛好問問@_@) 先謝謝熱心回覆的版友了! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.37.21

03/14 00:36, , 1F
1. 拉出來寫成 config.py 之類的然後要用時 import ?
03/14 00:36, 1F

03/14 00:38, , 2F
2. 會 尤其 decorator 很常這樣用
03/14 00:38, 2F

03/14 00:39, , 3F
3. 多看code吧@@ 速度的話你可能要參考演算法的書
03/14 00:39, 3F

03/14 23:17, , 4F
1.可以考慮把function改為class用繼承的功能
03/14 23:17, 4F

03/14 23:18, , 5F
2.decorator就是這樣做到的
03/14 23:18, 5F

03/14 23:18, , 6F
3.除了演算法外,也可以用cython加速
03/14 23:18, 6F
文章代碼(AID): #1J8TVZFO (Python)
文章代碼(AID): #1J8TVZFO (Python)