Python (十七) __name__ == ‘__main__‘ 作用

news2024/11/18 15:43:24

程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


作为解释性脚本语言,python程序并没有特定的main()主程序入口,一般都是自顶向下,逐行执行,__name__ == "__main__"可以理解为程序的执行入口。

__name__、__main__

def test():
    print('this is main1 func')
    print('__name__:',__name__)
    print('__main__:','__main__')

test() 


#输出
this is main1 func
__name__: __main__
__main__: __main__

从上面代码可以看到,在main1.py这个文件中,__name__和__main__的值是一样的,所以

__name__ == '__main__' 一直都是True。

接下来看看如果作为模块引用到别的模块的时候,这两个值还一样吗?

import main1
def test():
    print('this is main2 func')

if __name__ == '__main__':
    test()



#输出
this is main1 func
__name__: main1
__main__: __main__
this is main2 func

从输出结果可以看到,__name__的值变成了模块名main1,而__main__的值不变,如果我们只是想调用main2中的test方法,不调用main1中的test方法,我们对main1文件进行修改,如下:

def test():
    print('this is main1 func')
    print('__name__:',__name__)
    print('__main__:','__main__')

if __name__ == '__main__':
    test()    

从上面的代码示例中,我们可以得出结论:

___name__==  '__main__' 的主要作用就是为了控制函数逻辑在其他模块中引入时不执行。


系列文章索引

Python (一) 操作Mysql

Python (二) 读写excel文件

Python (三) 读写csv文件

Python (四)读写word

Python (五) 处理图像

Python (六) 绘图

Python(七)操作JSON

Python (八)网络编程

 Python (九)requests

 Python (十) operator

Python (十一)多线程

Python (十二) NumPy操作

Python (十三) pandas(一)

Python (十四)pandas(二)

 Python (十五)pandas(三)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1358995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小学副科老师轻松吗

在小学里,除了语文、数学和英语这些主科,还有许多副科老师,他们的工作日常是什么样的呢?今天,让我们一起来揭秘小学副科老师的一天。 备课:在忙碌中寻找创意的火花 副科老师同样需要花费大量时间进行备课…

视频剪辑指南:如何将多个视频快速批量合并的方法

在日常生活和工作中,经常要将多个视频片段合并为一个完整的视频。但是手动剪辑每个视频不仅费时,而且效率低下。那么如何解决这个问题呢,可以采用一些快速批量合并视频的方法。现在一起来看看云炫AI智剪如何批量合并视频的具体步骤吧。 合并…

Windows 使用 nmap软件测试 UDP 端口

下载windows版nmap ,下载后双机默认安装。 Download the Free Nmap Security Scanner for Linux/Mac/Windows 打开CMD , 输入 cd C:\Program Files (x86)\Nmap C:\Program Files (x86)\Nmap>ncat -z -v -u ntp.aliyun.com 123 Ncat: Version 7.80 ( …

《现代C++语言核心特性解析》笔记(三)

二十四、三向比较&#xff08;C20&#xff09; 1. “太空飞船”&#xff08;spaceship&#xff09;运算符 C20标准新引入了一个名为“太空飞船”&#xff08;spaceship&#xff09;的运算符 <>&#xff0c;它是一个三向比较运算符。<> 之所以被称为“太空飞船”运…

六、HTML 段落

HTML 可以将文档分割为若干段落。 一、HTML 段落 段落是通过 <p> 标签定义的。 <p>这是一个段落 </p> <p>这是另一个段落</p> 注意&#xff1a;浏览器会自动地在段落的前后添加空行。&#xff08;</p> 是块级元素&#xff09; 二、不…

篮球羽毛球乒乓球体育场馆预订小程序开发

开发一款专业的小程序&#xff0c;用于多场馆场地的预定和管理&#xff0c;包括体育馆、羽毛球馆、兵乒球馆、篮球馆等各类场馆。此小程序旨在为场馆提供全方位的运营解决方案&#xff0c;并满足会员的不同需求。 该小程序的核心功能特性包括&#xff1a; 场馆管理&#xff…

排除启动类故障----三大实验

目录 一、模拟破坏mbr和分区表然后修复 二、修复grub引导故障 三、遗忘root用户密码 一、模拟破坏mbr和分区表然后修复 1、mbr处于第一块磁盘的第一个物理扇区&#xff0c;总共512个字节&#xff0c;前446个字节是grub程序&#xff0c;后面64个字节是分区表 2、故障原因&a…

安卓平板电脑,5G通讯加持,帮你的通讯效率提提速

安卓平板电脑&#xff0c;作为一种集通讯、娱乐、工作于一体的便携设备&#xff0c;近年来随着5G通讯技术的发展&#xff0c;其在通讯效率方面迎来了新的提升。5G通讯加持&#xff0c;不仅为安卓平板电脑带来了更快速、更稳定的数据传输能力&#xff0c;也为用户的通讯效率提供…

ZigBee协议栈 -- 协议栈版本与IAR版本适配说明(Zstack2.5.1a + IAR10.30.1)

文章目录 协议栈安装工程适配 在讲到ZigBee协议栈的文章中所用的协议栈版本是Zstack2.5.1a&#xff0c;对于Zstack2.5.1a运行在IAR8.10中是可以完全适配进行编译开发的&#xff0c;现在较新版本的IAR都是10的版本以上了&#xff0c;有部分开发者习惯使用最新版本来获得更好的开…

freeRTOS的栈溢出检测机制

1、前言 后面的分析是以RISC-V架构为例&#xff0c;不同的架构在代码实现上有些许区别RISC-V架构使用的满减栈 2、任务控制块介绍&#xff08;TCB&#xff1a;task controller Block&#xff09; typedef struct tskTaskControlBlock {volatile StackType_t * pxTopOfSta…

Redis基础学习一

1. Redis 入门 1.1. Redis 诞生历程 1.1.1.从一个故事开始 08 年的时候有一个意大利西西里岛的小伙子&#xff0c;笔名 antirez&#xff08;http://invece.org/&#xff09;&#xff0c;创建了一个访客信息网站 LLOOGG.COM。有的时候我们需要知道网站的访问情况&#xff0c;…

计算化学顶刊封面!玻色量子联合上海交大张健课题组发表量子计算重要成果

​2023年12月13日&#xff0c;北京玻色量子科技有限公司&#xff08;以下简称“玻色量子”&#xff09;联合上海交通大学在中科院分区1区、计算化学领域Top刊物JCTC&#xff08;Journal of Chemical Theory and Computation&#xff09;内刊的封面上发表了以“Encoding Molecul…

两步带你解决IDEA 插件下载安装慢、超时、不成功问题

两步带你解决IDEA 插件下载安装慢、超时、不成功问题 1. 查找 国内插件的节点IP地址2. 修改本地hosts文件 > 今天在安装idea中的插件时&#xff0c;又双叒叕出现了这个问题&#xff0c;下载一个几MB的插件巨慢&#xff0c;所以写一下它的解决方案 1. 查找 国内插件的节点IP地…

中国文化文物和旅游统计年鉴,数据含pdf、excel等格式,文本形式呈现,可预览数据

基本信息. 数据名称: 中国旅游统计年鉴 数据格式: pdf、xls不定 数据时间: 2012-2020年 数据几何类型: 文本 数据坐标系: —— 数据来源&#xff1a;文化和旅游部、网络公开数据 原名为《中国旅游统计年鉴》2020年后更名为《中国文化文物和旅游统计年鉴》&#xff…

MongoDB批量写入操作

一、概述 MongoDB为客户端提供了批量执行写入操作的能力。批量写入操作影响单个集合。MongoDB允许应用程序确定批量写入操作所需的可接受确认级别。 db.collection.bulkWrite&#xff08;&#xff09;方法提供了执行批量插入、更新和删除操作的能力。 MongoDB还支持通过db.col…

跨境电商干货!独立站流量七大来源,这些你都知道吗?

如果要问做跨境电商独立站最烧钱的地方在哪里&#xff0c;那肯定就是流量推广这一块了&#xff0c;这也是做跨境电商独立站的必修课&#xff0c;要给我们的独立站引流&#xff0c;首先必须知道独立站流量从哪里来&#xff0c;今天龙哥就给大家盘点独立站七大流量来源&#xff0…

This error originates from a subprocess, and is likely not a problem with pip

我遇这个问题是的原因是包名错误 注意检查包名

SSM图书管理系统完整版

1.系统开发环境 开发工具&#xff1a;eclipse &#xff0c;SQLyog Community 数据库&#xff1a;mysql 8.0开发环境&#xff1a;jdk1.8 , tomcat 8.5后端框架&#xff1a;ssm 前端技术&#xff1a;htmlcssjavascript , layui&#xff0c;jquery&#xff0c;ajax 2.系统功能介绍…

WSL 与真实 linux 环境区别有多大?

随着 Windows 系统的不断发展和完善&#xff0c;WSL&#xff08;Windows Subsystem for Linux&#xff09;作为 Windows 10 的一个功能&#xff0c;为 Windows 用户提供了一个可以在 Windows 环境下运行 Linux 二进制可执行文件的环境。然而&#xff0c;尽管 WSL 为用户提供了一…

Charles的基础使用教程【Mac】

目录 1.安装 2.抓取https请求的前置操作 2.1安装证书&#xff1a; 2.2、SSL代理设置 3.Charles初识 1.安装 官网Charles下载安装即可&#xff0c;没有什么需要注意的地方 2.抓取https请求的前置操作 2.1安装证书&#xff1a; 未安装证书是这样的&#xff1a; 上述我们可…