python中的python,python的笔记

  python中的python,python的笔记

  1.简介在Python相关代码中,我们经常会遇到以下代码段:

  #东西

  if __name__==__main__ :

  # do stuff本文会用尽可能简单的例子来解释这里发生了什么,以及if __name__==__main__ 请注意,上面的代码中name和main前后有2个下划线字符。

  废话少说,我们开始吧!

  2.特殊变量当我们正常运行我们的Python脚本时,这个脚本中变量__name__的值一般是__main__。让我们看一个例子:

  # first.py

  Print(__name__)我们在终端中运行上面的脚本,代码如下:

  Python first.py输出如下:

  __main__观察上面的输出。当我们运行脚本first.py时,变量__name__的值被设置为__main__。

  3.复杂的例子上面的例子比较简单,容易理解。接下来,我们以多个文件为例。这里假设我们有三个脚本,分别是a.py,b.py,c.py。

  其中,a.py的内容如下:

  # a.py

  打印( __name__ in a.py:,__name__)

  从b进口*

  从import *至此,b.py的内容如下:

  # b.py

  print (_ _ name _ _ in b.py:,_ _ name _ _) c.py的内容如下:

  #副本

  Print (_ _ name _ _ in c.py:,_ _ name _ _)如果我们运行命令python a.py,我们会得到以下结果:

  __name__ in a.py: __main__

  b.py: b中的__name__。

  c.py中的__name__注意,在脚本a.py中,我们看到__name__的值是__main__。此时脚本b.py中__name__的值是B,c.py中__name__的值是c,这是因为我们运行的脚本是a.py,所以脚本a.py中变量__name__的值会被设置为字符串__main__。

  另外,脚本b.py和c.py中的变量_ _ name _ _分别保存为b和c,因为脚本b.py和c.py不是直接运行的脚本。而是我们运行的脚本a.py调用b.py和c.py中的打印函数。

  如果我们单独运行python b.py,我们会得到以下结果:

  b.py中的_ _ name _ _:_ _ main _ _相应地,我们运行python c.py,得到如下结果:

  c.py中的_ _ name _ _:_ _ main _ _观察上面两个输出。当我们直接运行脚本b.py或者c.py时,相应脚本中的变量__name__会被设置为__main__。

  4.使用场景作为Python开发者,我们通常在一个项目中创建多个Python文件,而不是在一个Python文件中编写所有代码。所以我们通常会有一个主Python文件作为项目的入口,其他文件包含一些辅助的功能实现。

  让我们看一个例子。假设我们有两个Python文件,如下所示:

  #主页. py

  从帮助程序导入*

  print(greet(bob ))辅助函数如下实现helper.py:

  # helper.py

  定义问候语(姓名):

  返回“你好”名称

  Print(greet(testname ))如果我们此时运行命令python main.py,我们会得到以下结果:

  你好鲍勃

  测试名上面的import语句将引入helper.py中的所有语句,所以helper.py中的测试语句print(greet(testname ))也将被执行。虽然我们可以通过添加注释或者屏蔽注释运行main.py或者helper.py来控制测试语句的输出,但是这种情况是语句。

  if __name__==__main__ 大显身手的一种情况。

  5.解决方案针对以上情况,我们做如下代码整改:

  #主页. py

  从帮助程序导入*

  Print(greet(bob ))我们将文件helper.py修改如下:

  定义问候语(姓名):

  返回“你好”名称

  if __name__==__main__ :

  Print(greet(testname ))此时,我们执行命令python main.py并获得以下结果:

  你好bob,注意此时helper.py

  中变量__name__的值是helper,所以helper.py中的if语句无效,我们的测试语句print(greet(testname ))`。

  此时,如果我们单独运行命令python helper.py,我们会得到以下结果:

  当HelloName单独运行helper.py时,脚本中的变量__name__会被设置为__main__,因此会执行测试语句并输出相应的测试结果。

  6.总结本文针对Python中常见的if _ _ name _ _= _ _ main _ _ ,重点分析其原理和应用场景。

  你丢了学业吗?

  关注微信官方账号《AI算法之道》了解更多关于AI算法的信息。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: