[問題] 程式內函式編排順序的問題?

看板Python作者 (HIHIHI)時間15年前 (2010/08/21 18:13), 編輯推噓5(5014)
留言19則, 5人參與, 最新討論串1/2 (看更多)
不好意思,最近問得有點勤... 這些問題都可以解決,但就是覺得一定有更好的方法.. 由於python是script語言,因為會從程式檔案的最上面一直往下執行 但我習慣把一些很長的函式放在檔案最下面, 但如此一來就會遇到此函式無定義的問題.. 有什麼方法可以達到我我要求又可以順利執行的嗎,謝謝 ex: if __name__ == '__main__': long_fun() long_fun(): ... 就像這樣,由於long_fun()裡面有好幾百行,想放在最下面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.185.171

08/21 18:29, , 1F
有個很愚蠢的方法,有沒有副作用我不知道,假設檔名叫
08/21 18:29, 1F

08/21 18:30, , 2F
z.py 你就在檔案最前面加from z import *
08/21 18:30, 2F

08/21 18:34, , 3F
這跟script沒關係吧,你用functional programming的寫法
08/21 18:34, 3F

08/21 18:35, , 4F
當然會無法執行,你用c寫,這也不會給你過…個人見解
08/21 18:35, 4F

08/21 19:32, , 5F
from z import , 是把自己import進去嗎?
08/21 19:32, 5F

08/21 19:33, , 6F
我知道會無法執行,所以才問有無辦法..perl是可以這樣的
08/21 19:33, 6F

08/21 19:50, , 7F
我試可以耶,你要把後面才出現的東西都包在
08/21 19:50, 7F

08/21 19:51, , 8F
if __name__ == '__main__': 裡面,不過我測試時long_fun
08/21 19:51, 8F

08/21 19:52, , 9F
的內容很簡單就只是print 'x'而已,應該不會影響吧
08/21 19:52, 9F

08/21 19:52, , 10F
對了我版本是2.6
08/21 19:52, 10F

08/21 19:54, , 11F
from z import , 是把自己import進去嗎? 是的
08/21 19:54, 11F

08/21 19:57, , 12F
這樣做程式碼執行順序會改變,先執行long在執行if最後再
08/21 19:57, 12F

08/21 19:57, , 13F
執行long部分
08/21 19:57, 13F

08/21 19:59, , 14F
上兩樓我的推文,用詞不佳,會有誤解....
08/21 19:59, 14F

08/21 20:00, , 15F
請忽略
08/21 20:00, 15F

08/21 20:54, , 16F
如果是我,我會把這個 fun 寫在另一個檔,再 import 進來
08/21 20:54, 16F

08/22 00:57, , 17F
推寫在另一個檔
08/22 00:57, 17F

08/23 11:36, , 18F
看來也沒有其它方法了...由於是獨立的script,不想拆才兩個檔
08/23 11:36, 18F

08/23 11:37, , 19F
可能就用import 自己 , 有遇到問題再跟大家報告,謝謝
08/23 11:37, 19F
文章代碼(AID): #1CRwRMTM (Python)
文章代碼(AID): #1CRwRMTM (Python)