Python __;名称_;()主函数

Python __;名称_;()主函数,python,Python,我试着在网上寻找答案,但找不到。我对python相当陌生,不知道在一个程序中是否可以有多个主函数。例如: ask_user = int(input('enter your choice (1 or 2): ')) if ask_user == 1: def print_hello(): print('hello world') def main(): print_hello() if __name__ == '__main__': ma

我试着在网上寻找答案,但找不到。我对python相当陌生,不知道在一个程序中是否可以有多个主函数。例如:

ask_user = int(input('enter your choice (1 or 2): '))

if ask_user == 1:
    def print_hello():
        print('hello world')
    def main():
        print_hello()

    if __name__ == '__main__': main()

elif ask_user == 2:
    def print_hi():
        print('hi')
    def main():
        print_hi()

    if __name__ == '__main__': main()

这是一个好的编程实践吗?

这不被认为是好的编程实践,不。像
index.html
一样,
main()
的要点是有一个程序的主要入口点。即使某一特定语言允许这样的事情,阅读代码并试图找出从何处开始的人也会感到困惑。对于显示选项,您可以使用具有有意义名称的单独函数,例如
print\u hello\u world
print\u hi
,它们都可以被
main()

调用,而您可以这样做,这真的很奇怪,很容易引起误解,毫无意义。这个问题实际上是一个特例,询问您是否可以在同一程序的不同块中定义多个同名函数,谢谢。调用函数的最佳方式是什么?如果我想用ArgumentParser()传递参数。最好的方法是什么?如何在
main()
函数下添加函数
def print\u hello()
def print\u hi()
?请注意,如果在另一个函数中定义函数,则只能从它所在的函数中使用它。Python开发人员通常将嵌套函数用于与程序其余部分无关的非常特定的函数。你必须非常有意识地去做。谢谢你的帮助!没问题。:)