我看到了很多的Python代碼看起來像這樣:`def main(args):`在python中有意義嗎?
def do_something(arg):
# some stuff
def do_something_else(arg):
# some other stuff
def main(args):
do_something(args.an_arg)
do_something_else(args.another_arg)
if __name__ == "__main__":
args = parse_args()
main(args)
我不知道爲什麼/它是否有意義定義main
功能。如果函數main
是不打算從其他地方進口的,那麼這似乎是完美的:
def do_something(arg):
# some stuff
def do_something_else(arg):
# some other stuff
if __name__ == "__main__":
args = parse_args()
do_something(args.an_arg)
do_something_else(args.another_arg)
...如果它的目的是從其他地方進口,應給予一個更有意義的名稱(並且以更常見的方式接受參數):
def do_something(arg):
# some stuff
def do_something_else(arg):
# some other stuff
def do_two_things(arg1, arg2):
do_something(args.an_arg)
do_something_else(args.another_arg)
if __name__ == "__main__":
args = parse_args()
do_two_things(args.an_arg, args.another_arg)
這是正確的嗎?定義一個main
函數是否有意義,如上例所示?
使它成爲一個獨特的功能提供了一個固定的切入點,使其更容易測試。 – chepner
我一直在用ad-hoc創建的模塊來做這個...然後添加一個'main2()'或其他名字來測試功能。 – Gerrat