Python main() 函数

在本教程中,我们将学习如何使用Python程序的__name__属性在不同的上下文中动态运行它。

Python中的main()函数是什么?

一些编程语言有一个称为的特殊函数main(),它是程序文件的执行点。但是,Python解释器从文件顶部开始依次运行每一行,并且没有显式main()函数。

Python提供了其他约定来定义执行点。其中之一是使用python文件的main()函数和__name__属性。

Python中的__name__是什么?

__name__变量是一个特殊的内置Python变量,它显示当前模块的名称。

根据执行Python文件的位置,它具有不同的值。让我们来看一个实例。

作为脚本运行Python文件

假设我们有一个名为helloworld.py的Python文件,其内容如下:

示例print(__name__)

如果我们从命令行运行helloworld.py,则它将作为Python脚本运行。我们可以使用以下命令运行Python程序:python helloworld.py

示例def foo():

str="__main__"

print(str);

if __name__=="__main__":

foo()

当我们将程序作为脚本运行时,变量的值__name__设置为__main__。因此,以下程序的输出将是:__main__

将Python文件作为模块运行

我们还可以将Python文件作为模块运行。为此,我们必须将此文件导入另一个Python程序。让我们来看一个实例。

假设我们在与heloworld.py文件相同的目录中有一个名为main.py的Python 文件。它具有以下内容:import helloworld

运行此文件时,将具有以下输出:helloworld

在这里,我们可以看到导入模块也会运行模块文件中的所有代码。

但是,我们可以看到,而不是显示 __main__,程序将显示模块的名称,即 helloworld。

这是因为,在将Python文件作为模块运行的情况下,模块本身的名称已分配给__name__变量。

if条件与__name__一起使用

现在我们已经了解了__name__变量是如何分配值的,我们可以使用if条件子句在不同的上下文中,以不同的方式运行相同的Python文件。

让我们来看一个实例。

假设我们将helloworld.py文件的内容更改为以下内容:

示例def main():

print("Hello World")

if __name__=="__main__":

main()

现在,当我们通过命令行将其作为脚本运行时,输出将是:Hello World

但是,当我们通过将其导入main.py文件将其作为模块运行时,由于main()未调用该函数,因此不会显示任何输出。

在这里,我们在helloworld.py文件中创建了一个自定义main()函数。它只在程序作为独立脚本而不是作为导入模块运行时执行。

这是在Python中显式定义main()函数的标准方法。 它是Python文件__name__变量的最流行用例之一。

python主函数_Python main() 函数相关推荐

  1. python variable函数_python main函数中变量默认为global variable

    在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量. 当然,局部变量会优先于全局变量,在执行formal_print(t_global)语句时便可看出. 测 ...

  2. C++ main函数及main函数的参数

    C++ main函数及main函数的参数 1.main函数的几种形式 int main() int main(int argc) int main(int argc,char** argv)//int ...

  3. python主函数参数_Python main函数、命名行参数

    1,main函数 python是基于脚本顺序执行,没有main函数的概念,但是我们可以通过关键字 __name__来模拟. __name__:模块名,当执行文件和当前模块一致时,__name__的值等 ...

  4. 编写python程序实现分段函数_python分段函数如何编写?_后端开发

    C语言自定义函数(图文详解)_后端开发 每个C程序都至少有一个函数,即主函数main(),在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main()函数中,main()函数将非常庞大臃肿, ...

  5. python asyncio回调函数_python回调函数用法实例分析

    python回调函数用法实例分析 本文实例讲述了python回调函数用法.分享给大家供大家参考.具体分析如下: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步 ...

  6. python匿名函数_Python匿名函数

    python匿名函数 Welcome to Python anonymous function tutorial. In the previous tutorial we learned about ...

  7. python中延时函数_python延时函数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 可以使用python的time模块来实现类似于c中的sleep函数作用代码如下: ...

  8. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  9. python神秘的魔法函数_Python魔法函数

    1.什么是魔法函数 魔法函数即Python类中以__(双下划线)开头,以__(双下划线)结尾的函数,Python提供的函数,可让咱们随意定义类的特性 示例: class Company(object) ...

  10. python del函数_python del函数是什么以及如何使用?

    这是关于Python里比较难得一个函数,甚至于章节不多,但是讲的内容却很多很多,大家对部分内容不知道有没有过了解--面向对象,而在这里主要用到的函数就是del,大家如果不知道的话,可以跟随小编一起来看 ...

最新文章

  1. Linux varnish代理服务器安装以及健康检查
  2. Batch Normalization导读
  3. Working copy XXX locked and cleanup failed in SVN
  4. java中File的使用
  5. GDI对象和CDC的使用方法(防止资源泄漏)
  6. signature=a662b42175c342c2f67535627a2cf0a4,California and Nevada Railroad
  7. SDUT 3399 数据结构实验之排序二:交换排序
  8. LeetCode 5354. 通知所有员工所需的时间
  9. 把“~/niunantest.aspx”转成http://localhost:4532/test/niunantest.aspx的方法
  10. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_10-freemarker静态化测试-基于模板文件静态化...
  11. SECS/GEM概念
  12. 网易企业邮箱如何设置反垃圾规则?【网易企业邮箱】
  13. mysql比对两张表数据
  14. KiCad 泪滴插件 teardrop plugin
  15. 第二十八课:focusin与focusout,submit,oninput事件的修复
  16. Akita与脉冲云的关系
  17. JavaEE笔记——设计模式
  18. 基于STM32,TB6612,TCRT5000的简易红外循迹小车
  19. 计算机策略怎么打开家庭版,win10家庭版组策略编辑器怎么打开_win10家庭版调出组策略的方法...
  20. 本科课程【虚拟现实引擎Unity3D】实验4 - 卡牌游戏完善

热门文章

  1. 计算机专业电子技术基础教学,计算机专业“电子技术基础”教学上的难题及对策.doc...
  2. 解决Heritrix镜像方式存储路径中文乱码的解决方案
  3. VS 2008的64位编译环境的安装和使用
  4. html文件如何合并成txt文件,如何快速合并多个 TXT 文档?TXT 文本文档合并方法...
  5. 请简述GC(垃圾回收)产生的原因,并描述如何避免?
  6. DevOps定义基础入门及历史
  7. LMS激光传感器的TCP/IP协议问题
  8. 如果将网络工程师分级你是那个级别?
  9. 黑马程序员——一些常用类的代码实践
  10. 中国生态城市规划行业“十四五”规划与前景规模预测报告2022-2028年版