Python编程中的if __name__ == 'main' 的作用和原理是什么

技术Python编程中的if __name__ == main 的作用和原理是什么这篇文章主要介绍“Python编程中的if __name__ == main 的作用和原理是什么”,在日常操作中,相信很多人在Python

本文主要介绍“Python编程中if _ _ name _ _=‘main’的功能和原理是什么”。在日常操作中,相信很多人对Python编程中if _ _ name _=' main '的功能和原理有所怀疑。边肖查阅了各种资料,整理出简单易用的操作方法,希望回答“Python编程中的If _ in”。接下来,请和边肖一起学习!

__name__是当前模块名,模块直接运行时,模块名为__main__。这句话的意思是,模块直接运行时,会运行下面的代码块,模块导入时,不会运行代码块。

相信初学者在学习Python的过程中难免会遇到if __name__=='main '语句。虽然他们总是知道它的功能,但它可能总是模糊的。今天我就举个例子来说明我的理解。

例如,我们在下面的test.py中编写了以下代码:

print(' Love Python ')defmain(): print(' Love Python ')if _ _ name _ _==' _ _ main _ _ ' : main()print('跟着菜鸟分析,练Python,多练多爱')运行代码,输出结果为:

Python编程中的if  __name__ == 'main' 的作用和原理是什么

然后,在同一个文件夹中创建一个名为import_test.py的新脚本,并只输入代码:

Importtest运行代码,输出为:

Python编程中的if  __name__ == 'main' 的作用和原理是什么

与之前的test.py代码运行结果相比,只执行了输出Python之前的语句,即if __name__=='__main__':后续的语句没有执行。

这是为什么?别担心,菜鸟分析会继续给你举例,直到你绝对满意,最后有一种豁然开朗的感觉。

现在,我们在test.py脚本的if _ _ name _=' _ _ main _ _' 3360之前添加print __name__即打印出__name__,最终运行结果如下:

Python编程中的if  __name__ == 'main' 的作用和原理是什么

可以看出变量__name__的值是“__main__”。

再次执行import_test.py,模块内容和执行结果如下:

Python编程中的if  __name__ == 'main' 的作用和原理是什么

此时import_test.py中__name__的变量值为test,不满足__name__=='__main__ '的条件,后续代码无法执行。

哈哈,你马上明白了吗?我觉得挺好的。给菜鸟分析一个赞!

再想想,它的运行原理是:

由于每个Python模块(Python文件)都包含内置变量__name__,因此在运行模块时,__name__等于文件名(包括后缀)。py)。如果导入到其他模块中,__name__等于模块名(不包括后缀。py)。并且“_main__”等于当前执行文件的名称(包括后缀。py)。因此,直接执行模块时,__name__=='__main__ '为真;当模块导入其他模块时,__name__=='__main__ '的结果为false,即不调用相应的方法。

简而言之,__name__是当前模块名,当模块直接运行时,模块名为__main__。模块直接运行时,会运行代码,模块导入时,不会运行代码。

至此,“Python编程中if __name__=='main '的作用和原理是什么”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以更好的帮助大家学习,所以赶紧试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48998.html

(0)

相关推荐

  • 美国服务器提供的功能和优势

    技术美国服务器提供的功能和优势美国服务器相比其他地区的海外服务器拥有多种优势,包括安全性,速度和可靠性。美国服务器支持用户完全控制权限,并保护您的数据免受未经授权的访问。美国服务器还允许您轻松升级美配置及其服务。如有必要

    礼包 2021年12月16日
  • 根号下的数的取值范围,根号里面的数的取值范围

    技术根号下的数的取值范围,根号里面的数的取值范围根号下的数可以等于零根号下的数的取值范围。
    通常说的根号都是只二次根号,即√,它表示对根号下的数开平方。根号下的数叫做“被开方数”。所以根号下的数需要满足的条件:是某个数的

    生活 2021年10月28日
  • 如何分析大数据中的网络协议

    技术如何分析大数据中的网络协议这篇文章将为大家详细讲解有关如何分析大数据中的网络协议,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、什么是协议协议,相当于正常交流必须掌

    攻略 2021年12月9日
  • 让Python代码加速起飞的方法有哪些

    技术让Python代码加速起飞的方法有哪些本篇内容介绍了“让Python代码加速起飞的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年10月20日
  • 什么是基于SQL2005的CLR存储过程

    技术基于SQL2005的CLR存储过程是怎样的基于SQL2005的CLR存储过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在 S

    攻略 2021年12月19日
  • 如何解决Visual Studio 2005插件功能问题

    技术如何解决Visual Studio 2005插件功能问题这篇文章主要介绍了如何解决Visual Studio 2005插件功能问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让

    攻略 2021年12月3日