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年10月20日
  • SQLServer2012镜像主库挂掉怎么切换到镜像备库

    技术SQLServer2012镜像主库挂掉怎么切换到镜像备库本篇内容介绍了“SQLServer2012镜像主库挂掉怎么切换到镜像备库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学

    攻略 2021年11月8日
  • vs code vue模板如何创建

    技术vs code vue模板如何创建这篇文章主要为大家展示了“vs code vue模板如何创建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vs code vue模板如何

    攻略 2021年11月24日
  • Java循环和数组练习题有哪些

    技术Java循环和数组练习题有哪些这篇文章主要介绍“Java循环和数组练习题有哪些”,在日常操作中,相信很多人在Java循环和数组练习题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月21日
  • 英语代词表格归类,英语中代词one和it用法

    技术英语代词表格归类,英语中代词one和it用法释义反身代词是一种表示反射或强调的代词英语代词表格归类。它的基本含义是:通过反身代词指代主语,使施动者把动作在形式上反射到施动者自己。因此,反身代词与它所指代的名词或代词形

    生活 2021年10月28日
  • vue生命周期多少个钩子函数(vue生命周期和钩子函数的区别)

    技术Vue生命周期中的八个钩子函数相机是怎样的Vue生命周期中的八个钩子函数相机是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、beforeCre

    攻略 2021年12月16日