主函数,Python风格?
我刚开始学习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
真的代表了你模块的一个实际功能,给它起个更合适的名字可能是个好主意。