这是本文的目录
前言
Python 中的 main 函数充当程序的执行点,在 Python 编程中定义 main 函数是启动程序执行的必要条件,不过它仅在程序直接运行时才执行,而在作为模块导入时不会执行。
什么是python函数
Python函数是指组织好的、可重复使用的、用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一些函数、第三方函数以及用户自定义的函数。
函数能提高应用的模块性和代码的重复利用率,你已经知道Python提供了许多内置函数,比如说print(),但你也可以自己创建函数,这被叫做用户自定义函数。
除此之外,Python系统中自带的一些函数叫做内建函数,比如说:dir()、type()等,不需要我们自己去编写;还有一种是第三方函数,就是其他程序员编写好的一些函数,直接共享给大家使用。
如何定义python函数
1、函数代码块以def关键词开头,后接函数名称和小括号(),小括号后的冒号:表示函数体的开始;
2、任何传入参数和自变量必须放在小括号中间,圆括号之间可以用于定义参数;
3、函数的第一行语句可以使用注释语句编写函数说明;
4、函数体遵循缩进语法;
5、函数以return语句结束,用于返回结果给调用方,不带表达式的return相当于返回None。
举例说明:定义函数的语法如下
def 函数名 (参数列表):
函数体
Python中的main函数是什么
在大多数编程语言中,有一个特殊的功能,它在程序每次运行时自动执行。这只不过是main函数,或者通常表示的main()。它本质上是程序执行的突破点。
在Python中,不必每次编写程序时都定义main函数。这是因为除非定义了特定的函数,否则Python解释器将从文件顶部执行。因此,为Python程序的执行定义一个起点对于更好地理解您的程序是如何工作的很有用。
基本Python main()
def main():
print("Hello, World!")
if __name__== "__main__" :
main()
在大多数Python程序/脚本中,您可能会看到函数定义
main 函数对于 Python 来说是必须的吗
在 Python 中拥有 main 函数并不是强制性的,但是,在上面的示例中,我们可以看到,定义了一个名为 main() 的函数,下面是一个条件 if 语句,它检查 name 的值,并将其与字符串 main 进行比较,当为 True 时,就会执行 main()。
在执行时,会打印“Hello, World!”。
当我们处理要作为 Python 脚本执行或要在其他模块中导入的文件时,这种代码模式是非常常见的。
让我们详细来看一下这段代码是如何执行的,首先我们非常有必要了解 Python 解释器设置 name 取决于代码的执行方式。那么,让我们了解一下 Python 中的执行模式
Python 执行模式
有两种主要方法可以告诉 Python 解释器执行代码:
最常见的方法是将文件作为 Python 脚本执行
通过将必要的代码从一个 Python 文件导入到另一个文件
无论我们选择哪种执行模式,Python 都会定义一个名为 name 的特殊变量,其中包含一个字符串。正如我们前面所看到的,这个字符串的值取决于代码的执行方式。
有时当我们从模块导入时,我们想知道特定模块的函数是否被用作导入,或者只是使用该模块的原始 .py(Python 脚本)文件。
为了解决这个问题,Python 有一个特殊的内置变量,称为 name,可以根据运行或执行脚本的方式,此变量会被分配字符串 main。
Python 中的 main 是什么
Python main 函数是任何 Python 程序的入口。当我们运行程序时,解释器按顺序运行代码,如果作为模块导入,则不会运行 main 函数,main 函数只有在作为 Python 程序运行时才会执行。
因此如果我们直接运行脚本,Python 会将 main 分配给 name,即 name=“main”。
因此,如果条件语句的计算结果为 True,则意味着 .py(Python 脚本)文件正在直接运行或执行。
有一点需要重点注意,如果我们直接在 Python shell 或终端上运行某些东西,则默认情况下,此条件语句恰好为 True。
最终我们习惯性的把所有必要的函数定义都写在了代码文件的最上面,最后在文件的最后写了这条语句,来组织代码。
if __name__ == "__main__" :
Logic Statements
简而言之,name 变量可以帮助我们检查文件是直接运行还是已导入。
在编写具有 main 功能的程序时,我们需要记住如下一些事情
尽可能使用函数和类
长期以来,我们一直在学习面向对象编程的概念及其优势,所以绝对有必要将批量逻辑代码放在紧凑的函数或类中。通过这种方式,我们可以控制代码的执行,而不是让 Python 解释器一导入模块就执行它。
让我们看看下面的一段代码:
def get_got():
print("…Fetching GOT Data… n")
data="Bran Stark wins the Iron Throne. n"
print("…GOT Data has been fetched…n")
return data
print("n Demo: Using Functions n")
got=get_got()
print(got)
在上面的示例中,我定义了一个名为 get_got 的函数,它返回存储在变量 data 中的字符串。然后将其存储在名为 got 的变量中,最后打印该变量。
输出如下:
Demo:Using Functions
..Fetching GOT Data...
...GOT Data has been fetched...
Bran Stark wins the Iron Throne.
使用 name 来控制代码的执行
现在我们知道了什么是 name 变量,那么该如何以及为什么使用它。让我们看看下面的代码片段:
if __name__ == "__main__":
got = "Game of Thrones is a legendary shown"
print(got)
new_got = str.split(got)
print(new_got)
在上面的示例中,条件 if 语句将比较变量 name 的值与字符串 main。当且仅当它的计算结果为 True 时,才会执行下一组逻辑语句。由于我们直接运行程序,我们知道条件语句将是 True。因此语句被执行,我们得到了想要的输出。这样我们就可以使用 name 变量来控制我们代码的执行。
输出如下:
Game of Thrones is a legendary show
['Game','of',Thrones',is','a','legendary','show
创建一个包含要运行代码的函数 main()
到目前为止,我们已经了解了 Python 代码的各种执行方式,同时我们还知道为什么以及何时使用 main() 函数,下面就来应用它。看下面这段代码:
print("n Main Function Demo n")
def demo(got):
print("…Beginning Game Of Thrones…n")
new_got = str.split(got)
print("…Game of Thrones has finished…n")
return new_got
def main():
got= "n Bran Stark wins the Iron Throne n"
print(got)
new_got = demo(got)
print(new_got)
if __name__ == "__main__":
main()
在上面的例子中,我们使用了 main() 的定义,它包含了我们要运行的程序逻辑。我们还定义了一个名为 demo 的函数,包含一段代码,可以在必要时复用。此外我们还更改了条件块,使其执行 main()。
这样,我们将要运行的代码放在 main() 中,将编程逻辑放在一个名为 demo 的函数中,并在条件块中调用 main()。
来看一下输出:
Bran Stark wins the Iron Throne
..Beginning Game Of Thrones Demo1...
...Game of Thrones has finished...
['Bran','Stark','wins','the','Iron','Throne']
None
..Beginning Game Of Thrones Demo1...
可以尝试一下,如果将此代码作为脚本运行或导入它,则输出将是相同的
从 main() 调用其他函数
当我们编写成熟的 Python 程序时,可能有许多可以调用和使用的函数。通常情况下,一些函数应该在程序开始执行时立即调用。因此,从 main() 本身调用其他函数就是最佳的选择了。
让我们看看下面的代码片段:
print("n Main Function Demo n")
def demo(got):
print("…Beginning Game Of Thrones Demo1…n")
new_got = str.split(got)
print("…Game of Thrones has finished…n")
return new_got
def getgot():
print("…Getting GOT Data…n")
got="Bran Stark wins the Iron Throne n"
print("…GOT Data has been returned…n")
return got
def main():
got= getgot()
print(got)
new_got = demo(got)
print(new_got)
if __name__ == "__main__":
main()
在上面的示例中,我们定义了一个名为 getgot() 的函数来获取数据,这个函数是从 main() 本身调用的。
因此,从 main() 中调用其他函数以将整个任务从可以独立执行的较小子任务中组合起来总是较好的选择。
输出如下:
Main Function Demo
..Getting GOT Data...
...GOT Data has been returned...
Bran Stark wins the Iron Throne
..Beginning Game Of Thrones Demo1...
...Game of Thrones has finished...
['Bran','Stark','wins','the','Iron','Throne']
希望通过这篇文章,对于 Python 中 main() 函数的全部内容以及如何使用它有一个全面而正确的理解。借助 Python 中的 main() 函数,我们可以在需要时执行大量功能,还可以控制执行流程。
零基础Python学习资料介绍
附上Python学习指南
👉Python学习路线汇总👈
围绕Python所有方向的技术点做的整理,以形成各个领域的知识点汇总,这样就可以按照上面的知识点去找对应的学习资源,保证学得较为全面。
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
边学边练是最高效的学习方法,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
👉资料领取👈
上述这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可自动领取↓↓↓==
或者
【点此链接】领取
![](https://i-blog.csdnimg.cn/blog_migrate/ca18c25c0d816bab55c3be01156af54e.png)