主要功能,pythonic?

dpa*_*sen 5 python program-entry-point

我刚刚进入Python编码,我想知道哪个被认为更pythonic?例A:一个明显的主要方法.

#!/usr/bin/env python -tt

import random

def dice_roll(num=1):
    for _ in range(num):
        print("Rolled a", random.randrange(1,7,1))

def main()
    random.seed()
    try:
        num = int(input("How many dice? "))
        dice_roll(num)
    except ValueError:
        print("Non-numeric Input")

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

或例B:没有主要方法.

#!/usr/bin/env python -tt

import random

def dice_roll(num=1):
    for _ in range(num):
        print("Rolled a", random.randrange(1,7,1))

if __name__ == '__main__':
    random.seed()
    try:
        num = int(input("How many dice? "))
        dice_roll(num)
    except ValueError:
        print("Non-numeric Input")
Run Code Online (Sandbox Code Playgroud)

任何帮助/指针将不胜感激?

Dan*_*olo 9

A更好,因为它允许您导入模块执行其中的内容,main而不必担心不必要的事情.事实上,这可能是一个很好的理由来命名它比main它真正代表你的模块的实际功能更好.