全网营销网站建设/最新国际要闻
结合 例子 弄懂 变量__name__ 和它的值’ main’这两个东西。
首先,明白两个定义,
__name__
是一个变量,
'__main__'
是个普通字符串,不是变量,但可以作为变量的值。
例子:
1.py
代码如下:
if __name__=='__main__':print('>>>如果 aCode.py 的变量 __name__ 的值不再等于 __main__ ,那么本行及其下面的代码将不会被打印。')print('>>>因为 aCode.py 还没有被其他 .py 文件所引用, 变量__name__的当前值仍是 :',__name__,',所以本行及上一行可以正常被打印。')1.py打印结果如下:
>>>如果 1.py 的变量 __name__ 的值不再等于 __main__ ,那么本行及其下面的代码将不会被打印。
>>>因为 1.py 还没有被其他 .py 文件所引用, 变量__name__的当前值是 : __main__ ,所以本行及上一行可以正常被打印。
2.py
代码如下:
import 1print('2.py 的变量 __name__, 当前值是 :',__name__)
print('而在当前文件 2.py中, 1.py代码的变量 __name__ 的值发生了变化,变成:',1.__name__)
print('所以,在 2.py里, 1.py代码中的部分语句没有执行。也就是1.py 的两条 print语句没有打印。')2.py 的代码打印结果如下:
>>>2.py 的变量 __name__, 当前值是 : __main__
>>>而在当前文件 2.py中, 1.py代码的变量 __name__ 的值发生了变化,为: 1
>>>所以,在 2.py里, 1.py代码中的部分语句没有执行。也就是1.py 的两条 print语句没有打印。
可以看出,__name__
这个变量是会变化的,
当一个 .py
文件的__name__
变量为 '__main__'
时,说明这个 .py
文件是独立的,没有被其他 .py
文件引用,
当一个 .py
文件的__name__
变量不是 '__main__'
时,说明这个 .py
文件不是独立的,被其他 .py
文件引用了,此时,被引用的 .py
文件的__name__
变量的值是 它的文件名
。
因此,我们可以通过在可能被引用的 .py
文件中设置 if __name__=='__main__':
语句来控制 被引用的 .py
文件中代码可不可以在被其他 .py
文件引用时执行。
①.没有被引用, if __name__=='__main__':
条件成立,其下的代码会被执行,
②.被引用, if __name__=='__main__':
不成立,其下代码不会被执行,
还可以用 if __name__=='__main__':
来控制本 .py
在被其他 .py
引用时,本 .py
中的代码是不是要被自动执行,
因为,当导入一个模块时,被导入模块其内的所有代码都将被自动化的依次执行,
所以,我们将本.py
被别的.py
导入时,不想被自动执行的那些代码放到 if __name__=='__main__':
里面,就可以了。
因为,本.py
被别的.py
导入时,.py
的变量__name__
的值 不再是 '__main__'
了,而是变成了.py
的文件名,所以, if __name__=='__main__':
不成立,所以,其下所有的语句将不会在被其他.py
导入时被自动执行了,
February the 19th 2023 Sunday
相关文章:

说说变量 __name__ 和它可能取到的一个值 __main__
结合 例子 弄懂 变量__name__ 和它的值’ main’这两个东西。 首先,明白两个定义, __name__是一个变量, __main__是个普通字符串,不是变量,但可以作为变量的值。 例子: 1.py 代码如下: if _…...

软考高级-信息系统管理师之整体管理(最新版)
整体管理 1、项目整体管理概述2、制定项目章程(选择,案例,论文)制定项目章程过程制定项目章程的依据1、协议2.项目工作说明书:3、商业论证4、事业环境因素包括,但不限于如下事项。5、组织过程资产:项目选择方法项目启动会议项目目标引导技术3、制订项目管理计划(选择)项目管…...

JVM学习篇垃圾收集器ParNewCMS与底层三色标记算法详解
1. 垃圾收集算法 2. 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法…...

基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制
当我们看到一些精彩的视频画面,但无法下载时,可以通过录屏的方式将视频和音频录制下来。 这个时候我们需要安装采集视频和音频的工具screen-capture-recorder。 以下是在windows10环境下,基于FFmpeg和Screen Capturer Recorder实现屏幕和声音…...

猿人学14题详解
目测重点在于cookie:mz和m 获取mz.js: https://match.yuanrenxue.com/static/match/match14/m.js 获取设置m: https://match.yuanrenxue.com/api/match/14/m 一、还原16进制 const fs require(fs); const parser require(babel/parser); const gen…...

Allegro如何快速把推挤的走线变平滑操作指导
Allegro如何快速把推挤的走线变平滑操作指导 Allegro有个非常强大的功能,推挤命令,可以快速的让走线以不报DRC的形式避让目标 推挤后的效果如下图 但是走线不够平滑,如果每一段都去再推一下比较费时间,下面介绍allegro本身自带的优化类似走线的功能 具体操作如下 点击Rout…...

nginx基础学习
作为前端开发者,也很有必要了解一些运维部署知识。 nginx的作用有哪些? 负载平衡动静分离反向代理 何为反向代理? 反向代理即是,用户访问nginx服务器,nginx又将请求转发到真正服务器上,为什么用户不能直…...

【HDFS】FsDatasetImpl#recoverClose方法
recoverClose的目的recoverClose的过程recoverClose的调用点一、前言 HDFS客户端写文件时,如果某个datanode发生错误或者异常。客户端会把这个datanode从pipeline里踢除,然后进行pipiline recovery,用剩余datanodes去写或者满足一定的条件时补充新的datanode到pipeline中写…...

加油站会员管理小程序实战开发教程15 完结篇
这篇是本次实战课程的最后一篇,我们在上篇还有两个问题没解决。一个是会员卡类型显示不对,一个是不同的会员卡我们希望背景色显示不同。我们先处理一下这两个问题 1 显示会员卡类型 在列表上直接显示会员卡类型,目前显示的是数字,这个是因为枚举类型导致的。枚举类型在数…...

学习 Python 之 Pygame 开发坦克大战(五)
学习 Python 之 Pygame 开发坦克大战(五)坦克大战完善地图1. 创建砖墙2. 给砖墙增加子弹击中的碰撞效果3. 给砖墙添加坦克不能通过的碰撞效果4. 添加石墙5. 添加玩家基地6. 最终效果坦克大战完善地图 我的素材放到了百度网盘里,里面还有原版…...

【ROS】Windows系统安装ROS体验
大家平时玩ROS都是在Ubuntu系统上,那Windows系统可以安装吗,答案是:可以的!Windows为了发展自家的物联网生态,已经在Windows系统支持ROS了。 文章目录1.安装VS 20172.安装Chocolatey & Git3.安装ROS4.运行ROS例程1…...

第1讲-初步认识数据库系统(测试题总结)
一、测试题 数据库系统 包含 数据库管理系统 详细版: 数据库管理系统DBMS是数据管理软件,在用户和操作系统之间。 数据库系统DBS由数据库,数据库管理系统(及其应用开发工具)、应用程序和数据库管理员DBA组成的存储、管…...

进程-操作系统结构
进程-操作系统结构 中文仅本人理解,有错误请联系我。 操作系统为不同方面服务,有不同的设计角度。 为用户: 使用 为程序员:创造 程序员需要关注的就是system call接口的调度 file systems:ntfs,ext4 commu…...
【网络原理6】数据链路层协议——以太网
数据链路层负责的是相邻两个网络节点之间的数据以帧为单位进行传输。 具体关于数据链路层的介绍,已经在这一篇文章当中提到了。 初识网络:IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weix…...

组合数学原理与例题
目录 一、前言 二、计数原理 1、加法原理 2、分割立方体(lanqiaoOJ题号1620) 3、乘法原理 4、挑选子串(lanqiaoOJ题号1621) 5、糊涂人寄信(lanqiaoOJ题号1622) 6、战斗吧N皇后(lanqiaoO…...

【机器学习 深度学习】通俗讲解集成学习算法
目录:集成学习一、机器学习中的集成学习1.1 定义1.2 分类器(Classifier)1.2.1 决策树分类器1.2.2 朴素贝叶斯分类器1.2.3 AdaBoost算法1.2.4 支持向量机1.2.5 K近邻算法1.3 集成学习方法1.3.1 自助聚合(Bagging)1.3.2 提升法(Boosting)1.3.2.1 自适应adaboost1.3.3 …...

汉字----dgfont
Abstract 字符生成是一个具有挑战性的问题,特别是对于一些由大量字符组成的书写系统,近年来受到了广泛的关注。然而,现有的字体生成方法通常是在监督学习中。它们需要大量的配对数据,这是劳动密集型和昂贵的收集。此外,常见的图像到图像转换模型通常将风格定义为纹理和颜…...

C# chart绘图 鼠标响应
1、图形自动滚动设置 chart1.ChartAreas[0].AxisX.Maximum 横坐标显示区域最大值 chart1.ChartAreas[0].AxisX.Minimum 横坐标显示区域最小值 显示宽度 chart1.ChartAreas[0].AxisX.Maximum - chart1.ChartAreas[0].AxisX.Minimum chart1.ChartAreas[0].AxisX.Maximum x_d…...

结构体与引用
1.结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型2.结构体定义和使用语法: struct 结构体 { 结构体成员列表 };通过结构体创建变量的方式有三种:struct 结构体名 变量名struct 结构体名 变量名 { 成员1值,成员2值...}定义结构…...

13.罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X II 。 27 写做 XX…...

JVM垃圾回收机制
垃圾回收机制(GC) 内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放。 对象空间的分配:使用new关键字创建对象即可 对象空间的释放:将对象赋值null即可。垃圾回收器将负责所有“不…...

Java File类、IO流、Properties属性类
文章目录一、补充二、File类File类的含义创建多级文件File类的常见方法三、IO流IO流分类输入输出流FileOutputStreamInputStreamInputStream与OutputStream的实例ReaderWriterFileReader和FileWriter的实例缓冲流转换流序列化与ObjectInputStream、ObjectOutputStream打印流Pro…...

MySQL备份恢复(十二)
文章目录1. MySQL数据损坏类型1.1 物理损坏1.2 逻辑损坏2. DBA运维人员备份/恢复职责2.1 设计备份/容灾策略2.1.1 备份策略2.1.2 容灾策略2.2 定期的备份/容灾检查2.3 定期的故障恢复演练2.4 数据损坏时的快速准确恢复2.5 数据迁移工作3. MySQL常用备份工具3.1 逻辑备份方式3.2…...

【Java|golang】1792. 最大平均通过率---封装最小堆
一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学…...

PHP 页面静态化
前言随着网站的内容的增多和用户访问量的增多,网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一、页面静态化概念静态化定义静态化就是指把原…...

【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法
一、进制计算机中底层所有的数据都是以 010101 的形式存在(图片、文本、视频等)。二进制八进制十进制(也就是我们熟知的阿拉伯数字)十六进制进制转换v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23…...

基于android的无人健身房
需求信息: 1:客户登录:首次登陆必须注册,用户注册完成后可以进入软件查看自己的金额、会员等级、消费和健身时长。 2:计费功能:用户通过软件扫描二维码后即可进入健身房,软件显示欢迎进入健身房…...

带你Java基础入门
首先我们都知道的,Java是一种高级计算机语言,是可以编写跨平台应用软件、完全面向对象的程序设计语言。相对于零基础小白如何更加快速的入门java?小编给大家整理了java300集自学教程视频,非常适合零基础的小伙伴,一周时间实现快速…...

VNCTF 2023 - Web 象棋王子|电子木鱼|BabyGo Writeups
象棋王子 签到题,jsfuck解密 丢到console得到flag 电子木鱼 后面两道都是代码审计,这题是rust,题目给出了源码,下载下来看 关键代码: 由于限制,quantity只能为正数 功德也只能是正数(负数的…...

「JVM 编译优化」插入式注解处理器(自定义代码编译检查)
JDK 的编译子系统暴露给用户直接控制的功能相对很少,除了虚拟机即时编译的若干参数,便只有 JSR-296 中定义的插入式注解处理器 API; 文章目录1. 目标2. 实现3. 运行与测试4. 其他应用案例1. 目标 前端编译器在讲 Java 源码编译成字节码时对源…...