主要功能,Python 风格?

5

我刚开始学习Python编程,想知道哪种写法更符合Pythonic风格? 示例A:含有明显main方法。

#!/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")

能提供任何帮助或指引吗?


2
请查看 http://codereview.stackexchange.com/ - moinudin
3个回答

9

使用A更好,因为它允许你导入模块并且在不必要地繁琐操作的情况下执行main中的内容。实际上,如果它确实代表了你的模块的一个真正函数,那可能是给它命名为比main更好的名称的好理由。


3

说到“Pythonic”,我认为这两种方式都同样符合“Pythonic”的规范,因为它是指特定的编程约定,并不应该支配你编写代码的方式。

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


1

我认为示例A更符合Python的风格,但两者都可以接受。主要是因为你可以导入main,但通常情况下你不需要这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接