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

在学习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.mzph.cn/news/125469.shtml

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

相关文章

紧急:发现NGINX Ingress Controller for Kubernetes中的新安全漏洞

导语 大家好,今天我要向大家紧急报告一则消息:我们在NGINX Ingress Controller for Kubernetes中发现了三个新的安全漏洞!这些漏洞可能被黑客利用,从集群中窃取机密凭据。在本文中,我们将详细介绍这些漏洞的细节&#…

百度文心一言搞起来

要快速使用文心一言,可以按照以下步骤: 了解文心一言:首先,你需要了解文心一言的基本功能和特点,包括它的语言处理能力、应用场景和优势等。这样可以帮助你更好地理解如何使用它。注册和登录:在开始使用文…

Jetpack:024-Jetpack中的滚动事件

文章目录 1. 概念介绍2. 使用方法2.1 高级事件2.2 低级事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中事件相关的内容,本章回中主要 介绍事件中的滚动事件。闲话休提,让我们一起Talk Android Jetpack吧! 1. 概念介绍 我们在…

ROS自学笔记二十: Gazebo里面仿真环境搭建

Gazebo 中创建仿真实现方式有两种:1直接添加内置组件创建仿真环境2: 手动绘制仿真环境 1.添加内置组件创建仿真环境 1.1启动 Gazebo 并添加组件 1.2保存仿真环境 添加完毕后,选择 file ---> Save World as 选择保存路径(功能包下: worlds 目录),文…

什么是开放数据?与数据共享的区别?

​什么是开放? 开放数据是一类可以被任何人免费使用、再利用、再分发的数据——在其限制上,顶多是要求署名和使用类似的协议再分发。 开放数据具有以下特点: 1.可获取性和可访问性:作品应当能够被完整获取,并且所需…

【算法练习Day34】整数拆分不同的二叉搜索树

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 整数拆分不同的二叉搜索树总…

TypeScript -类 -类的基本定义

类的基本概念 类 就是对象的抽象,是对象的模板。 对象 就是类的一个具体实现。比如 【学生】是一个类,每个学生都有姓名、年龄两个属性,每个学生都有一个方法 sayHi()。【小明】是一个【学生】,也就是【学生】类的一个对象&#…

P2503 [HAOI2006] 均分数据

Portal. 考虑一种随机贪心做法。为了让方差尽可能小,要让每一组数的大小尽量接近。所以对于新的一个 a i a_i ai​,把它加入到当前的和最小的一组里。 为了提高正确性,让分组的可能性变多,我们随机 shuffle 这个序列&#xff0…

【httpd】 Apache http服务器目录显示不全解决

文章目录 1. 文件名过长问题1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex.conf1.2 在配置文件httpd-autoindex.conf中的修改:1.3 修改完成后重启Apache: 1. 文件名过长问题 1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex…

论坛搭建.

目录 一.配置软件仓库 二.安装http php miriadb 三.配置数据库 四.源码拖拽并解压 五.防火墙通过 六.浏览器安装测试 七.界面参数设置 一.配置软件仓库 1.进入仓库目录 cd /etc/yum.repos.d 2.创建仓库文件 vim local.repo 3.在 local.repo中写入:(粘贴的时候注意位…

C++递归实现验证⼆叉搜索树

C递归实现验证⼆叉搜索树 文章目录 C递归实现验证⼆叉搜索树题目链接题目描述解题思路C算法代码: 题目链接 98. 验证二叉搜索树 - 力扣(LeetCode) 题目描述 给你⼀个⼆叉树的根节点root,判断其是否是⼀个有效的⼆叉搜索树。 有效⼆…

吐血整理,Jmeter接口测试-项目案例场景,直接上高速...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 场景一&#xff1…

go 打包运行文件在windows,liunx运行

go 打包windows exe运行文件 1,如果设置过其他系统环境 就要重新设置设置系统环境$env:GOOS "windows"$env:GOARCH "amd64"2,在主函数同目录进行打包 指定main.go为入口主函数go build -o goweb.exe main.go比如src/main.go就在s…

如何优雅的开发?低代码搭建应用如此轻松

目录 一、前言 二、低代码平台体验简述 三、关于平台 四、场景及用户分析 五、产品分析 1、着重讲一下JNPF的编辑器 2、业务流程 六、最后,说些心里话 一、前言 低代码平台改变了应用交付和管理的模式,大幅缩减交付周期,最终帮助业务…

AcWing第 127 场周赛 - AcWing 5283. 牛棚入住+AcWing 5284. 构造矩阵 - 模拟+快速幂+数学

AcWing 5283. 牛棚入住 题目数据范围不大&#xff0c;直接暴力模拟即可 按照题目所说的意思即可。 #include <math.h> #include <stdio.h> #include <algorithm> #include <cstring> #include <iostream> using namespace std; const int N 1…

Docker底层原理:Cgroup V2的使用

文章目录 检查 cgroup2 文件系统是否已加载检查系统是否已挂载 cgroup2 文件系统创建 cgroup2 层次结构查看 cgroup2 开启的资源控制类型启用 cgroup2 资源控制设置 cgroup2 资源限制加入进程到 cgroup2 检查 cgroup2 文件系统是否已加载 cat /proc/filesystems | grep cgroup…

中缀表达式转后缀表达式

一、基本概念 中缀表达式&#xff1a;运算符都在运算数之间的表达式&#xff0c;也就是我们日常见到的表达式&#xff0c;包含括号。例如&#xff1a;(12)*5 后缀表达式&#xff1a;别称逆波兰式&#xff0c;指的是严格从左向右按照运算符出现的顺序进行计算&#xff0c;不包…

【ChatGPT瀑布到水母】AI 在驱动软件研发的革新与实践

这里写目录标题 前言内容简介作者简介专家推荐读者对象目录直播预告 前言 计算机技术的发展和互联网的普及&#xff0c;使信息处理和传输变得更加高效&#xff0c;极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术&#xff0c;也在不…

C语言 pthread_create

备注void *&#xff0c;最好添加返回值 原因&#xff1a;在实践中&#xff0c;虽然你的函数可能不需要返回任何值&#xff0c;但为了与 pthread_create 函数的预期函数指针格式相匹配&#xff0c;最好遵守函数指针所需的返回类型。这是一种良好的编程实践&#xff0c;确保你的代…

用起来顺手的在线表结构设计软件工具Itbuilder,与你共享

在线表结构设计软件工具需功能简洁&#xff0c;去除晦涩难懂的设置&#xff0c;化繁为简&#xff0c;实用为上&#xff0c;上手非常容易&#xff0c;这些itbuilder统统可以做到。 itbuilder是一款基于浏览器开发的在线表结构设计软件工具&#xff0c;借助人工智能提高效率&…