Python 主要功能不工作

Python main function not working

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

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

def main():
    print1()
    print2()

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

您需要致电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/2/library/main.html

Main 需要显式调用。您可以不使用 if 语句来执行此操作,但这允许您的代码既可以是模块也可以是主程序。如果它作为模块导入,则不会调用 main()。如果是主程序就会被调用。

你的思维方式像 C 程序员。在这种情况下 python 更像是一个 shell 脚本。任何不在函数或 class 定义中的东西都将被执行。

我相信你的意思是

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