Python 主函数不起作用



我正在编写一个简单的Python程序,其中包含一些函数,其中一个是执行其他函数的main()函数。但是,当我运行下面的代码时,没有输出。有人可以告诉我他们是否看到结构错误吗?

def print1():
    print("this is also a function")
def print2():
    print("this is a function")
def main():
    print1()
    print2()

你需要调用main() 。 现在它只是一个定义。 如果没有人使用这个词,字典中的条目有什么用?

def print1():
    print("this is also a function")
def print2():
    print("this is a function")
def main():
    print1()
    print2()
main()

在 Python 程序中,根据文件是导入还是运行而以不同的方式执行操作是很常见的。 执行文件时,__name__变量设置为'__main__'或文件名。 如果文件作为 python 脚本执行,则设置为'__main__',如果正在导入,则设置为文件名。 您可以使用此信息,以便在导入而不是作为 python 脚本运行时实际上不会运行任何内容:

if __name__ == '__main__':
    main()

这样,您就可以导入模块,并在不调用main()的情况下使用这些函数。 但是,如果它作为 python 脚本运行,则将调用main()

将其添加到代码底部:

if __name__ == "__main__":
    main()
请参阅 https://docs.python.org/3/library/\_\

_main\_\_.html

main()需要显式调用。您可以在没有 if 语句的情况下执行此操作,但这允许您的代码是模块或主程序。如果将其作为模块导入,则不会调用main()。如果它是主程序,那么它将被调用。

你像C程序员一样思考。在这种情况下,Python 的行为更像是一个 shell 脚本。任何不在函数或类定义中的内容都将被执行。

您需要调用 main() 才能运行。

我相信你的意思是

def print1():
    print("this is also a function")
def print2():
    print("this is a function")
if __name__ == '__main__':
    print1()
    print2()

something.py 调用此脚本,然后从命令行运行python something.py

相关内容

  • 没有找到相关文章

最新更新