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年11月2日
  • JDK源码阅读(7):ConcurrentHashMap类阅读笔记

    技术JDK源码阅读(7):ConcurrentHashMap类阅读笔记 JDK源码阅读(7):ConcurrentHashMap类阅读笔记JDK源码阅读(7):ConcurrentHashMap类阅读笔

    礼包 2021年11月25日
  • jquery有哪些读取节点的方法

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

    攻略 2021年11月15日
  • C语言函数分类自定义参数及调用方法是什么

    技术C语言函数分类自定义参数及调用方法是什么本篇内容主要讲解“C语言函数分类自定义参数及调用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言函数分类自定义参数及

    攻略 2021年11月24日
  • wcf并发模式与实例模式(wcf大量数据缓存)

    技术WCF缓存机制怎么理解这篇文章主要讲解了“WCF缓存机制怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF缓存机制怎么理解”吧!缓存是很占内存的,缓存也有它

    攻略 2021年12月14日
  • springsecurity权限控制(springboot权限控制框架)

    技术SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理这篇文章给大家介绍SpringBoot2 整合SpringSecurity框架是怎么实现用户权限安全管理,内容非常详细,感兴趣的小

    攻略 2021年12月18日