python中__name__和__main__

2023-11-16

在学习python的时候,会经常看到这样的一句话:

if __name__ == '__main__':
	....

那么这句话是什么意思呢?
首先要解释一下python文件的两种使用方式:
1.直接运行:就是直接运行.py文件
2.模块导入:就是被当成模块导入到其他python文件中使用
__name__以及__main__都是python文件自带的属性,__main__代表着该python文件的名字(带.py的那种),而__name__就要分情况了:如果是直接运行的话代表的是带.py的文件的名字,否则的话就是不带.py的文件的名字。所以比较二者的目的就在于区别究竟是导入的模块还是直接运行。这是一个很好的习惯。

扩展:

如果test.py文件是当作模块导入的话,那么 if __name__ == ‘__main__’: 以下的代码不会被执行,但是以上的代码会执行,

print('python')
if __name__ == '__main__':
	print('PYTHON')

如果这样的话显然会输出python,而不会输出PYTHON

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中__name__和__main__ 的相关文章

随机推荐

  • Qt 查看Qt助手的方法

    为了方便大家自学 在这里提供一种查看Qt助手的方法 1 打开软件点击帮助 在这里可以搜索关键词 2 假设搜索的是QToolBar 3 搜索的全是英文 这时可以点击 4 此时会跳到网页版Qt助手 5 使用的是 Microsoft Edge 浏
  • centos 安装java11

    直接执行 yum list grep java 11 输出结果如下 java 11 openjdk i686 1 11 0 16 0 8 1 el7 9 updates java 11 openjdk x86 64 1 11 0 16 0
  • JavaWeb——JavaWeb核心之Servlet

    一 Servlet简介 1 什么是Servlet Servlet 运行在服务端的Java小程序 是sun公司提供一套规范 接口 用来处理客户端请求 响应给浏览器的动态资源 但servlet的实质就是java代码 通过java的API 动态的
  • Python3-定时任务的四种实现方式

    最近做一个小程序开发任务 主要负责后台部分开发 根据项目需求 需要实现三个定时任务 定时更新微信token 需要2小时更新一次 商品定时上线 定时检测后台服务是否存活 使用Python去实现这三个任务 这里需要使用定时相关知识点 Pytho
  • 如何回答「你的优势和劣势是什么」?【面试核心问题6】

    导读 优势和劣势也是面试中的常问问题 求职者应该有所准备 准备好自己的3个优势和3个劣势 对于优势来说 最好是结合职位要求 或是产品经理的基本能力 谈一些自己具备的和职位相关的优势 并且能拿出证据 经历来证明它 举例 具备良好的沟通能力和组
  • 手机应用软件卸载【adb】

    解决了想卸载 厂商又不让卸载 例 miui广告 卸载小爱等 adb 工具 点击下载 官方下载 安全 附自己的卸载包 adb exe shell pm uninstall user 0 com miui systemAdSolution ad
  • 双系统 Ubuntu grub启动项中 没有Windows的解决

    目标 从ubuntu的grub进入win10系统 实施 以下操作在Ubuntu系统中进行 终端依次执行下面命令 sudo grub install dev sda sudo chmod x etc grub d 30 os prober s
  • 导致项目失败常见的原因有哪些

    一 规划工作做得不细 或缺少灵活性 项目计划始终是项目开始前的热点讨论话题 但是在实际项目进行中仍会出现问题 因此在做好计划之后 在项目实施中项目经理还需要根据项目实际情况做适当的调整 项目经理可以通过进度猫甘特图制作项目计划 调整增加项目
  • 另类的唯品会和得物比价

    目前得物h5和小程序防爬弄得采集数据很费劲 另辟蹊径做了一款通过模拟器和商家后台方式采集数据的方式 目前实现了跟唯品会的比价 运行界面如下 输入品牌名称 点击 开始 表格中左边依次显示唯品会采集的数据 右边会根据采集模式的不同 从安卓模拟器
  • inux字符驱动之read、write部分

    本期主题 linux字符驱动之read write部分 往期链接 linux设备驱动中的并发 linux设备驱动中的编译乱序和执行乱序 linux设备驱动之内核模块 linux字符驱动 linux字符驱动之ioctl部分 linux字符驱动
  • 把手伸向大数据平台的云原生,是如何将大数据平台迁移至K8s上的?

    我们正身处数据大爆炸的时代 据IDC数据显示 仅在2022年 人类就将创造超过97ZB的数据 要知道截至2012年 人类生产的所有印刷材料的数据量为200PB 仅为2022年一年所创造数据量的50万分之一 据预测 中国数据量规模将从2022
  • TMS运输管理系统,对车辆管理、物流运输、效率提升有哪些优势?

    TMS Transport Management System 运输管理系统 其主要功能是对物流中的运输环节进行管理 此系统适用于运输公司 各企业下面的运输队等 系统对车辆 驾驶员 线路 运输方式等进行全面管理 通过系统调度管理 报表分析统
  • TypeScript学习笔记(三) - 方法

    本篇将介绍在TypeScript里如何定义和使用方法 一 方法标准声明和使用 1 方法声明 2 function func x number y number number 3 return x y 4 在TypeScript里 方法声明可
  • INSTALL_FAILED_INVALID_APK: /data/app/vmdl1735842778.tmp/11_app-debug signatures are inconsistent

    坑 背景 这两天无聊想整合一下SDK和Gradle里的东西 然后手贱 整出来一个错误 安装apk报错 INSTALL FAILED INVALID APK data app vmdl1735842778 tmp 11 app debug s
  • 按指定条件从C++11 map中删除元素

    问题 无法使用remove if配合map容器的erase操作按指定条件从map容器删除元素 C 11 解决方案 可以使用一下函数实现这个需求 template
  • pytorchnp.transpose(npimg, (1, 2, 0))

    最近看pytorch的一个代码 结果中间有一句还是看不太懂 最后过了一些阵子才看懂 在此Mark一下 1 代码如下 def imshow img text should save False npimg img numpy 将torch F
  • css实现图片旋转

    一 css实现图片旋转90度 icon moz transform rotate 90deg webkit transform rotate 90deg 二 水平翻转 icon color f64e78 font size 20px dis
  • 轨迹数据

    如何通过轨迹相似性度量方法 发现新冠易感人群 轨迹作为一种时空数据 指的是某物体在空间中的移动路径 通常表示为GPS点的序列 例如tr
  • 计算机的默认登录账户,win10如何设置默认登录账户_win10电脑设置默认账户登录的两种方法...

    我们在使用电脑时为了保护电脑资料的安全 一般会进行密码登录设置 但是有使用win1064位正式版系统的用户想要在使用电脑的时候自己的账户可以进行自动登录 而其他的账户保持原来的登录方式 那win10如何设置默认登录账户呢 下面小编就来为大家
  • python中__name__和__main__

    在学习python的时候 会经常看到这样的一句话 if name main 那么这句话是什么意思呢 首先要解释一下python文件的两种使用方式 1 直接运行 就是直接运行 py文件 2 模块导入 就是被当成模块导入到其他python文件中