主要功能,pythonic?

时间:2011-02-01 01:06:21

标签: python main

我刚刚进入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()

或示例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")

任何帮助/指示都会受到赞赏吗?

3 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:3)

好吧,当谈到 Pythonic 时,我会说两者同样是 Pythonic ,因为它指的是特定的编程约定,而不是(并且不应该) 't)管理你编码的方式。

然而,人们通常使用第一种形式,因为它更容易import并从另一种形式调用脚本。

答案 2 :(得分:1)

我想说例子A更像是Pythonic,但它们都是可以接受的。主要是因为你可以导入main,但通常你不需要这样做。