python(一):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 result

if __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 a

a.test()

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

3、总结

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

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值