主函数,Python风格?

5 投票
3 回答
545 浏览
提问于 2025-04-16 10:58

我刚开始学习Python编程,想知道哪种写法更符合Python的风格?

例子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 个回答

1

我觉得例子A更符合Python的风格,不过两个例子都可以用。主要是因为你可以导入main这个部分,但通常情况下你并不需要这么做。

3

关于“Pythonic”这个词,我觉得这两种写法都是一样“Pythonic”的,因为它指的是一些特定的编程习惯,而不是限制你怎么写代码。

不过,大家通常会用第一种写法,因为这样从其他脚本里导入和调用这个脚本会更简单。

9

A更好,因为它让你可以导入你的模块并且main里面执行内容,而不需要搞一些不必要的复杂操作。实际上,如果main真的代表了你模块的一个实际功能,给它起个更合适的名字可能是个好主意。

撰写回答