Python 中__name__ == ‘__main__‘使用说明

news2024/11/19 9:23:47

在学习C语言的时候,程序的运行是从main函数开始的,因此,功能代码一般写到main函数中,子程序如果想要调用,也需要在main函数中进行调用。
然而,Python语言中,程序从第一行就开始执行(定义函数除外) ,并不需要编写main函数。

可以直接看1.3总结

1 __name__ 是什么

name 是Python的一个内置属性,属于全局变量,每个py文件都有一个自己的__name__属性。
关于__name__属性值,却有两种不同情况。

1.1 示例1

假设新建一个py文件,编写如下程序,运行这个文件,观察__name__的属性值。

print("当运行这个文件时,观察__name__的属性值")
print('__name__的值为:', __name__)

可以看到输出中__name__的属性值为: __main__
在这里插入图片描述

1.2 示例2

新建一个py文件,名称假设为test.py,在文件中编写一段程序:

print("test文件被调用了!")
print('__name__的值为:', __name__)

再新建一个py文件,名称假设为test1.py,在文件中编写一段程序,并且调用该程序。

import test
print("调用程序完成")

此时,运行test1.py这个文件,就会发现输出结果中__name__的属性值为:test,也就是文件名。
在这里插入图片描述

1.3 总结

name 是Python的一个内置属性,当自己运行时,它的属性值就为 __main__,
这个文件被调用时,这个文件的属性值就成了它的文件名。

2 __name__ 作用

由上文可知,当不同运行方式下,该属性的属性值是不同的。然,在编写项目中,可能会写到很多的模块文件,对于某一个模块文件,为了验证其中某个函数是否运行良好,可以在该模块文件加入

if __name__ == '__main__:
	#测试代码1
    #测试代码2		

这种写法,可以就区分了,如果单独运行这个模块文件时,就会调用想测试的代码进行测试,如果当其它文件调用这个模块时,就不会运行这里面的测试代码。

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

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

相关文章

不同源安装nginx

Nginx是一款高性能的Web服务器软件。在安装Nginx时,可以选择不同的安装源。 1.官方源:在官方网站下载Nginx的源代码,然后进行编译安装。 2.EPEL源:EPEL (Extra Packages for Enterprise Linux)源是针对Red Hat、CentOS、Scienti…

处理SAP资产折旧AFAB 过账报错:“科目 8019010100 要求一个成本会计分配”

会计在进行资产折旧AFAB时 报错如下所示: 原因分析: 折旧时没有把资产设置得成本中心带到过账凭证的成本中心字段中去。而资产中已经维护了成本中心了。 所以要在资产过账的科目分配中设置一下路径如下: 或者TCODE:ACSET科目设置这…

Java集合操作集锦

原文链接 Java集合操作集锦 集合是最为常见的容器,在日常工作之中经常用到,一些集合的常规操作以及不同的集合之间的转换,虽然看似是基础中的基础,但实践中会发现并不是那么显而易见的,特别是涉及boxing的时候&#x…

NFTScan 发展成为 PlatON 网络最大验证者节点之一

关于 PlatON 区块链:PlatON 是一个开放的金融基础设施,其核心是隐私保护计算。在 LatticeX 基金会的发起和推动下,目标是打造 Web3 时代领先的区块链平台。 PlatON 通过底层基础设施、支付清算系统、资产流通管理平台,构建去信任的…

ArcGIS统计各种土地利用类型的总面积

如下图为研究区多个村的土地利用现状图,现在需统计每种类型的面积总和,以及每个行政村内各种土地利用类型的总面积。本文通过案例的形式,讲解ArcGIS中两种常用的分类统计面积的工具,建议收藏。 文章目录 1. 加载土地利用数据2. 常规属性汇总统计3. 汇总统计数据1. 加载土地…

软件测试之BUG篇(定义,创建,等级,生命周期)

目录 1. BUG 的定义 2. 如何创建 BUG 3. BUG 等级 4. BUG 生命周期 高频面试题: 1. BUG 的定义 当且仅当产品规格书存在且正确时,程序的实现和规格书的要求不匹配时,那就是软件错误。当产品规格说明书没有提到的功能时,以用户…

[MySQL]——SQL预编译、动态sql

键盘敲烂,年薪30万🌈 目录 一、SQL的预编译 📕一条SQL语句的执行过程 📕弊端 📕预编译SQL的优势 📕两种参数占位符 📕小结 二、动态SQL 📕概念介绍: &#x1f4…

协程框架nty_co

一、为什么要有协程? 以DNS请求为例子,客户端向服务器发送域名,服务器回复该域名对应得IP地址。 我们想要以同步的编程方式获得异步的性能!!! 在Linux下,常使用IO多路复用器epoll来管理客户端…

YOLO算法改进4【中阶改进篇】:添加DeformableConvolution卷积模块

论文地址: https://arxiv.org/abs/1811.11168 源码地址:https://github.com/msracver/Deformable-ConvNets 传统的卷积操作是将特征图分成一个个与卷积核大小相同的部分,然后进行卷积操作,每部分在特征图上的位置都是固定的。这样,对于形变比较复杂的物体,使用这种卷积的…

C#学习相关系列之多线程---lock线程锁的用法

一、lock的作用 Lock可以看成在操作系统中的临界区,Lock区域内的代码表示临界区,使得同一时间只有一个线程能够进入Lock所包含的函数中,实现原子操作,保护同一资源只有一个线程进行修改,实现不同线程中数据的同步。 …

【数据结构】数组和字符串(十二):顺序存储字符串的基本操作(串长统计、查找、复制、插入、删除、串拼接)

文章目录 4.3 字符串4.3.1 字符串的定义与存储4.3.2 字符串的基本操作(顺序存储)1. 串长统计2. 串定位3. 串复制4. 串插入5. 串删除6. 串拼接7.主函数8. 代码整合及优化 4.3 字符串 字符串(String)是由零个或多个字符(char)顺序排列组成的有限序列&#…

基于RFID技术的优化医药供应链管理解决方案

一、社会背景和挑战 随着全球假药问题的严重性日益凸显,医疗产品的追溯和管理变得越来越重要。据世界卫生组织报告,全球假药比例已超过10%,而中国每年至少有20万人死于假药和不当用药。在国际上,医疗产品的追溯体系已成为监管机构…

总线类设备驱动——IIC

目录 一、本章目标 二、IIC设备驱动 2.1 I2C协议简介 2.2 LinuxI2C驱动 2.3 I2C 设备驱动实例 一、本章目标 一条总线可以将多个设备连接在一起,提高了系统的可扩展性能。这个互联的系统通常由三部分组成:总线控制器、物理总线(一组信号线) 和设备。总线控制器…

视频监控平台EasyCVR分组接口出现“pending”报错,该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台可拓展性强、视频能力灵活,能对外分发RTMP、RTSP、…

直线导轨的误差匹配度如何?

直线导轨的误差匹配度是评估导轨之间配合精度的重要指标,导轨之间的配合精度越高,误差匹配度就会越好,反之则越差。 在直线导轨的生产和加工过程中,每个导轨都会产生一定误差,例如平行误差、垂直误差、轨面平整度、滑块…

什么是跨域问题?如何解决?

跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来…

2023软件测试八股文最新版(含答案+文档)

一、Web 自动化测试 1、Selenium 中 hidden 或者是 display = none 的元素是否可以定位到? 不能,可以写 JavaScript 将标签中的 hidden 先改为 0,再定位元素 2、Selenium 中如何保证操作元素的成功率?也就是说如何保…

连续分析:提高应用效率和成本效益的关键

作者:John Knoepfle 最近,Elastic Universal Profiling 已经正式发布。 它是我们可观察性解决方案的一部分,允许用户在生产环境中进行整个系统的连续分析。 如果你不熟悉连续分析,你可能想知道通用分析是什么以及为什么你应该关心…

【1++的Linux】之信号(一)

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,关于信号二,深剖信号的产生1. 键盘组合建产生信号2.核心转储3. 系统调用接口产生信号4. 由软件条件产生信号5. 硬件异常产生信号 一,…

TSINGSEE青犀AI视频识别技术+危化安全生产智慧监管方案

一、背景分析 石油与化学工业生产过程复杂多样,涉及的物料易燃易爆、有毒有害,生产条件多高温高压、低温负压,现场危险化学品存储量大、危险源集中,重特大安全事故多发。打造基于工业互联网的安全生产新型能力,提高危…