【python】__name__函数的用法详解!

      上一篇中,说到了__init__函数的使用,__init__函数是在类中实现,它在创建对象时自动执行,用于初始化对象的属性。今天我们来说一下__name__函数,__name__函数的主要作用为:

1.执行python脚本  2.导入到别的脚本中使用

我们来看看直接打印__name__函数会返回什么?

print(__name__)

控制台输出:

分析:
所以,我们是不是就可以理解为__name__ == __main__,我们继续往下看。

我们通过一些实例来了解:

实例1:

if __name__ == '__main__':print('我爱python!')

控制台输出:

分析:

咱们给它加入if来作一个判断,程序执行,__name__ 这个变量的值就是 "__main__"。

实例2:

class test_main:def main(self):print('hello world!')def main_2(self):print('hello python!')if __name__ == '__main__':print('我爱python!')a = test_main()a.main()

控制台输出:

分析:

在实际项目中,__name__函数主要作为整个项目的执行入口,不想要执行的函数等就可以不调用,上述实例基本上都是在本(.py)文件执行,那么接下来我们来说一下导入到别的(.py)文件里的使用方法。

实例3:

我们新建两个(.py)文件,分别为TEST_1.py和TEST_2.py

EST_1.py

if __name__ == '__main__':print('我爱python!')
else:print('被调用!')print(__name__)

TEST_2.py

import TEST_1class test_main:def main(self):print('hello world!')def main_2(self):print('hello python!')if __name__ == '__main__':print('我爱python!')a = test_main()a.main()TEST_1

控制台执行TEST_2.py文件输出:

分析:

由此可知,TEST_1.py被import导入到TEST_2.py,则该__name__名字为文件名字,也就是TEST_1,通过if做判断,不等于__main__,则就不会执行后面的方法。

总结:

当 __name__ 值为 "__main__" 的即为脚本,反之,即为导入的模块或者库(方法)。

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

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

相关文章

多无人机集群协同避障

matlab2020a正常运行 场景1规划结果 场景2规划结果 场景3规划结果 代码地址: 多无人机集群协同避障效果(5架)资源-CSDN文库

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…

音乐文件逆向破解

背景 网易云等在线音乐文件的加密源码都按照一定的规则加密,通过对音乐文件的源码分析转化,有望实现对加密文件的解密 实现内容 实现对加密音乐文件的解密 实现对无版权的音乐文件的转化 实现环境 010editor 010 Editor是一个专业的文本编辑器和十六…

设计模式系列:责任链模式

简介 责任链模式是一种行为型设计模式,它允许你将请求沿着处理者链进行发送。每个处理者都可以对请求进行处理,或者将其传递给链上的下一个处理者。责任链模式主要应用于面向对象编程中,特别是当系统中的对象需要根据其属性来决定如何处理请…

1Panel官方出品丨MaxKB:基于LLM大模型的知识库问答系统

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…

实习僧网站的实习岗位信息分析

目录 背景描述数据说明数据集来源问题描述分析目标以及导入模块1. 数据导入2. 数据基本信息和基本处理3. 数据处理3.1 新建data_clean数据框3.2 数值型数据处理3.2.1 “auth_capital”(注册资本)3.2.2 “day_per_week”(每周工作天数&#xf…

LangChain实战:从原型到生产,动手打造 LLM 应用 书籍推荐!

今天给大家推荐一本大模型方面的书籍<LangChain实战&#xff1a;从原型到生产&#xff0c;动手打造 LLM 应用>&#xff0c;本书将介绍大语言模型的基础理论包括语言模型、分布式模型训练以及强化学习&#xff0c;并以Deepspeed-Chat框架为例介绍实现大语言模型和类ChatGP…

【Java探索之旅】数组概念与初始化指南:动静结合

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、初识数组1.1 为什么要有数组&#xff1f;1.2 数组的的概念 二、数组的创建及初始化…

UE4_导入内容_Alembic文件导入器

Alembic文件导入器 Alembic文件格式(.abc)是一个开放的计算机图形交换框架&#xff0c;它将复杂的动画化场景浓缩成一组非过程式的、与应用程序无关的烘焙几何结果。虚幻引擎4(UE4)允许你通过 Alembic导入器 导入你的Alembic文件&#xff0c;这让你可以在外部自由地创建复杂的…

【分享】linux下安装sunshine串流配置进行远程办公

前排提示教程内容比较短&#xff0c;废话比较多&#xff0c;需要看教程的建议直接跳目录 目录 前言&#xff08;原因&#xff09; 选择远程连接软件 三种连接软件的优劣以及体验 sunshine支持显卡 教程 注意事项 显示器 如果为远程部署 前言&#xff08;原因&#xff0…

C#创建随机更换背景图片的窗体的方法:创建特殊窗体

目录 一、涉及到的知识点 1.图片资源管理器设计Resources.Designer.cs 2.把图片集按Random.Next方法随机化 3.BackgroundImage属性 二、实例设计 1. Resources.Designer.cs 2.Form1.Designer.cs 3.Form1.cs 4.生成效果 很多时候&#xff0c;我们需要每次打开窗体时能够…

【电子通识】吸锡带/线的作用和替代方法

吸锡带简介 吸锡带(或称吸锡线、脱焊织物)是手工焊接的好助手,手焊或维修时吸锡带能够去除电路板上多余焊锡,减少了电子产品的返工和修理的时间,降低了烙铁对电路板造成过热损伤的危险,因此是一个既廉价又有效的物品。 市面上卖的最多的的吸锡带类型如下所示: 吸锡带的选型…