文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python(一):Python中的主函数

2023-09-22 21:40

关注

Python中的主函数

1、概述

大家好,我是欧阳方超。今天说一下Python中主函数的概念。
在Python中,没有像其他编程语言那样明确的主函数的概念,但是依然会有一个程序的入口函数,Python不同于其他语言中(如C/C++)的地方在于:
Python没有严格要求主函数;
Python的主函数就是被最先执行的函数(所以主函数可以是自定义的)。

2、主函数

Python中的程序从最上面的代码开始执行,依次执行每一行代码,直到程序结束或遇到break、return或raise等语句。因此,Python程序中的任何函数都可以被视为主函数,只要在程序中调用它即可。

虽然Python没有明确的主函数,但是通常在程序的结尾部分编写一个如下的语句块:

if __name__ == '__main__':

用于定义程序的入口点。这个语句块会在程序作为脚本直接运行时(不是import作为模块)执行,但是在其他模块中导入时不会执行。在这个语句块中,可以调用其他函数或执行其他操作,作为程序的主要逻辑。

2.1、Python文件作为脚本运行

下面是一个简单的例子,展示if __name__ == '__main__':作用以及如何在利用它在Python中定义一个主函数。
假设a.py文件中有如下代码:

def add_numbers(a, b):    """计算两个数字的和"""    result = a + b    return resultif __name__ == '__main__':    result = add_numbers(3, 5)    print(result)

在上述代码中,我们定义了一个add_numbers函数,用于计算两个数字的和。然后在if name == ‘main’:语句块中调用了这个函数,并将结果打印到屏幕上。当程序作为脚本直接运行时,即命令行中执行python a.py,这个语句块就会被执行,从而调用add_number()函数,进而计算并打印出3和5的和。
为什么会这样呢,首先__name__变量是一个特殊的内置Python变量,当直接执行Python脚本时该变量会被赋值为__main__,所以才会执行函数调用;但是当一个Python脚本被导入其他模块时,该脚本的__name__变量的值会发生变量,具体往下看。

2.2、将Python文件作为模块运行

假如在同一目录有两个Python脚本:b.py和c.py,内容分别如下:

def test():    str = "__main__"    print(str)    print(__name__)if __name__ == '__main__':    test()
import aa.test()

当执行c.py时,会调用a模块的test()方法,此时该方法中的print(__name__)语句执行结果为a,这是因为,在将Python文件作为模块运行的情况下,模块本身的名称已分配给__name__变量。

3、总结

总之,在Python中没有明确的主函数的概念,但是可以使用if __name__ == '__main__':语句块来定义程序的入口点,并在其中调用其他函数或执行其他操作。这是在Python中显式定义main()函数的标准方法。 这也是Python中__name__变量的最流行的用例之一。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。

来源地址:https://blog.csdn.net/u012288582/article/details/131060681

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯