【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_1

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()
    TEST_1

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

分析:

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

总结:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

哪种裤子比较百搭?显高显瘦的男生裤子分享

选到合适的裤子才能穿得好看以及舒服。可是市面上也出现了不少各种裤子质量达不到标准的负面新闻,为了能够选到合适的裤子,我自费购买了多个品牌的裤子测评。之后我知道很多网红品牌为了压低成本,用料和做工都很差,于是我总结了五…

Python和Java哪个更适合后端开发?

Python和Java都是强大的后端开发语言,它们各自有鲜明的特点和适用场景。选择哪一个更适合后端开发,主要取决于具体的项目需求、团队技术栈、个人技能偏好以及长期发展考虑等因素。 下面是两者在后端开发中的优势和劣势: 「Python&#xff1…

TCP/IP协议—TCP

TCP/IP协议—TCP TCP协议TCP通信特点TCP技术概念TCP定时器 TCP头部报文TCP连接三次握手(建立连接)四次挥手(释放连接)连接状态 TCP协议 传输控制协议(TCP,Transmission Control Protocol)是一种…

《柳叶刀》子刊:突破性临床试验,证实粪菌移植治疗帕金森病的潜力

帕金森病(Parkinson’s Disease,PD),是一种复杂的神经退行性疾病,也是世界上第二常见的神经退行性疾病,仅次于阿尔茨海默病(AD),影响着约1%-2%的65岁及以上老人。随着全球…

Ribbon-负载均衡原理解析(案例)

简介:负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同…

明厨亮灶厨师帽佩戴检测的难点与优化方式 Yolov5+bytetrack

随着国家一系列食品安全政策的出台,厨房的安全卫生问题逐渐被人们重视。其中,工作人员是否佩戴厨师帽是很关键的一环。人们希望能通过一种方式实现自动化的检测,但目前市场上大部分“明厨亮灶系统”或“未佩戴厨师帽检测系统”都无法满足用户…

【UE5.1】使用MySQL and MariaDB Integration插件——(1)连接MySQL

效果 步骤 1. 在虚幻商城下载“MySQL and MariaDB Integration”插件 2. 购买安装后,我们将插件添加到一个新工程中,打开新工程可以看到已经添加了插件 3. 新建一个蓝图,选择父类为“MySQLDBConnectionActor” 这里命名为该蓝图为“BP_MySQL…

腾讯测试岗位的面试经历与经验分享【一面、二面与三面】

腾讯两个月的实习一转眼就结束了,回想起当时面试的经过,感觉自己是跌跌撞撞就这么过了,多少有点侥幸.马上腾讯又要来校招了,对于有意愿想投腾讯测试岗位的同学们,写了一些那时候面试的经历和自己的想法,算不上经验,仅供参考吧! 一面 — —技术基础,全面…

linux 自定义命令/别名

参考资料 Linux(Ubuntu)自定义命令的使用Linux/Ubuntu系统自定义Shell命令Ubuntu/Linux 操作系统 自定义命令 目录 一. 为路径取别名二. 修改.profile文件2.1 .profile简介2.2 需求2.3 修改.profile文件 三. 创建软链接 一. 为路径取别名 ⏹需求:有一个work文件夹…

API网关工具Kong或nginx ingress实现对客户端IP的白名单限制,提高对外服务的访问安全

一、背景 部署在生产环境的应用,供内部服务调用外,还需要暴露外网访问。 比如consul ui管理界面,我们需要给到开发和测试人员,观察服务的注册情况。 再比如前端页面和后端接口在一起的服务,后端接口供内部服务接口调用…

蓝桥杯备赛刷题——css

新鲜的蔬菜 这题需要使用grid 我不会 去学一下 一.什么是grid Grid 布局与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。 Flex 布局是轴线布局,只能指定"项目"针对轴线的位置&#…

XTTS数据迁移方案

前置条件检查 XTTS使用限制较多,V3版本按照本节逐项检查 目标库操作系统不能是windows 源库:redhut 7.9 目标库:redhut 7.9 检查数据库时区(两边都需要) SQL> select dbtimezone from dual; 检查结果两边都一致…

自然语言处理NLP关键知识点

大家好,在人工智能出现之前,机器智能处理结构化的数据,例如 Excel 里的数据。但是网络中大部分的数据都是非结构化的,例如文章、图片、音频、视频等。在非结构数据中,文本的数量是最多的,他虽然没有图片和视…

Compose UI 之 Card 卡片组件

Card Card 是用于显示带有圆角和可选阴影的矩形内容容器。它通常用于构建用户界面,并可以包含标题、文本、图像、按钮等元素,表示界面上的可交互元素,我们称它是 “卡片”。 Card 使用的一些经典的场景: 列表数据,例如 新闻列表,产品列表等。信息提示框,使用 Card 组件…

升级win11后无线鼠标失灵,win11鼠标用不了

鼠标失灵是常见的设备故障问题,今天带来相关的解决方法,本文主要是针对升级win11后无线鼠标失灵的处理方法。不少小伙伴在使用电脑的过程中,都遇到过鼠标移动缓慢或者动不了的情况,升级到win11系统的小伙伴也不例外。一般刚升级新系统后,才出现的鼠标失灵问题,那么可能会…

计算机网络——网络地址转换(NAT)技术

目录 前言 前篇 引言 SNAT(Source Network Address Translation)源网络地址转换 SNAT流程 确定性标记 DNAT(Destination Network Address Translation,目标网络地址转换) NAT技术重要性 前言 本博客是博主用于…

SENet模型原理及代码介绍

一.模型简介: SENet的全称叫Squeeze-and-Excitation Networks(挤压-激励网络,简称SENet),于2017年提出,并拿下了当年的ImageNet分类比赛的冠军。ResNet是2015年ImageNet的冠军,2016年ResNeXt&am…

暖宝轻工机械有限公司现已加入2024第13届生物发酵展

参展企业介绍 公司坐落于富饶的长江三角洲,美丽的瓯越山水---温州,成立20多年来,专业从事换热器新品研发、应用设计、生产制造、销售服务为一体的综合性生产企业。 公司致力于食品、饮料、果酒、制药、暖通、化工等行业领域的加热冷却、蒸发…

Magnet AXIOM 7.8 Windows Multilingual - 数字取证与分析

Magnet AXIOM 7.8 Windows Multilingual - 数字取证与分析 Digital Forensic Software 请访问原文链接:https://sysin.org/blog/magnet-axiom/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 恢复并分析一个案件中…

商业照明专用SLM211A系列24V,15mA到200mA支持PWM调光功能的线性恒流LED驱动芯片

SLM211A系列SLM211AAC-7GTR--SOT23-6,SLM211ACB-13GTR--SOP8-EP是用于产生单通道、高精度恒流源的 LED 驱动芯片,在各种 LED 照明产品中非常简单易用。SLM211A 具有宽输入电压范围、高输出精度、超低 drop-out 压降、卓越的线性/负载调整率等特性&#x…