看板 Python 關於我們 聯絡資訊
版上的大家好,斷斷續續接觸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
darkgerm:1. 拉出來寫成 config.py 之類的然後要用時 import ? 03/14 00:36
darkgerm:2. 會 尤其 decorator 很常這樣用 03/14 00:38
darkgerm:3. 多看code吧@@ 速度的話你可能要參考演算法的書 03/14 00:39
gozule:1.可以考慮把function改為class用繼承的功能 03/14 23:17
gozule:2.decorator就是這樣做到的 03/14 23:18
gozule:3.除了演算法外,也可以用cython加速 03/14 23:18