[英]Is it common to write a lot of code under if __name__ == '__main__': statement
我目前的編碼風格就像
import xxx
def fun1()
def fun2()
...
if __name__ == '__main__':
task = sys.argv[1]
if task =='task1':
do task1
elif task == 'task2':
do task2
...
我的問題是代碼的一部分
if __name__ == '__main__':
與上面定義的函數相比,這是非常巨大的,我被告知這不是一個好的編程風格。 這是因為我修改了內容並經常在每個任務中進行實驗,並且我希望將代碼的這些部分與不太可能被修改的函數分開。 我想在這里學到更多建議,謝謝!
就像BusyAnt所說的那樣,常見的做法是
import xxx
def fun1()
def fun2()
...
def main():
task = sys.argv[1]
if task =='task1':
do task1
elif task == 'task2':
do task2
...
if __name__ == '__main__':
main()
這樣做的好處是它不會在import
運行,但是如果願意的話, main()
仍然可以從另一個模塊或文件運行。
它不禁止寫了很多東西下if __name__ == '__main__'
,雖然它被認為是更好,更可讀的包了一切main()
函數 。 這樣,當您在另一個模塊中import
此模塊時,不會執行main()
的代碼, 但您仍然可以通過調用imported_script.main()
來選擇運行它。
您的代碼將如下所示:
import xxx
def fun1()
def fun2()
...
def main():
task = sys.argv[1]
if task =='task1':
do task1
elif task == 'task2':
do task2
...
if __name__ == '__main__':
main()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.