聊聊Python中的is和==】的更多相关文章

首先,Python中的is就是判断地址是否相等(相当于Java中的==),Python中的==就是判断数值是否相等(相当于Java中的equals). 看个简单的例子: a = [1, 2, 3] b = [1, 2, 3] id(a) Out[16]: 2531065911112 id(b) Out[17]: 2531064874824 a == b Out[18]: True a is b Out[19]: False 因为地址不同,但是元素是相同的. 但是会发现一些好玩的东西,比如: a…
1. 闭包 首先我们明确一下函数的引用,如下所示: def test1(): print("--- in test1 func----") # 调用函数 test1() # 引用函数 ret = test1 print(id(ret)) print(id(test1)) #通过引用调用函数 ret() 运行结果: --- in test1 func---- 140212571149040 140212571149040 --- in test1 func---- 以y=kx+b为例,请…
Python中有两个重要的概念,生成器和迭代器,这里详细记录一下. 1. 生成器 什么是生成器呢? 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环…
今天,想谈一下Python中的进程和线程. 最近在学习Django的时候,涉及到了多进程和多线程的知识点,所以想着一下把Python中的这块知识进行总结,所以系统地学习了一遍,将知识梳理如下. 1. 进程和线程的关系 既然谈论到进程和线程,当然要老生常谈一个问题,那就是什么是进程,什么又是线程呢? 用最简单的话解释就是一台电脑能同时运行多个QQ就是进程,每个QQ你打开不同窗口聊天,发图片,发视频就是线程.再比如Linux系统中我们通过ps -ef查看所有进程,每个进程都有一个pid,且唯一,其中…
对于广大写Python的人来说,GIL(Global Interpreter Lock, 全局解释器锁)肯定不陌生,但未必清楚GIL的历史和全貌是怎样的,今天我们就来梳理一下GIL. 1. 什么是GIL GIL的全称是 Global Interpreter Lock,全局解释器锁.之所以叫这个名字,是因为Python的执行依赖于解释器.Python最初的设计理念在于,为了解决多线程之间数据完整性和状态同步的问题,设计为在任意时刻只有一个线程在解释器中运行.而当执行多线程程序时,由GIL来控制同一…
描述符是实现描述符协议方法的Python对象,当将其作为其他对象的属性进行访问时,该描述符使您能够创建具有特殊行为的对象. 通常,描述符是具有“绑定行为”的对象属性,其属性访问已被描述符协议中的方法所覆盖.这些方法是__get __(),__set __()和__delete __().如果为对象定义了这些方法中的任何一种,则称其为描述符.属性访问的默认行为是从对象的字典中获取,设置或删除属性.例如,a.x具有一个查找链,查找链从a .__ dict __ ['x']开始,然后键入(a).__…
1. 多线程编程与线程安全相关重要概念 在我的上篇博文 聊聊Python中的GIL 中,我们熟悉了几个特别重要的概念:GIL,线程,进程, 线程安全,原子操作. 以下是简单回顾,详细介绍请直接看聊聊Python中的GIL GIL:  Global Interpreter Lock,全局解释器锁.为了解决多线程之间数据完整性和状态同步的问题,设计为在任意时刻只有一个线程在解释器中运行. 线程:程序执行的最小单位. 进程:系统资源分配的最小单位. 线程安全:多线程环境中,共享数据同一时间只能有一个线…
1. 前言 上一篇文章中,我们聊到使用 xlrd.xlwt.xlutils 这一组合操作 Excel 的方法 最全总结 | 聊聊 Python 办公自动化之 Excel(上) ​本篇文章将继续聊另外一种方式,即:openpyxl 不得不说,openpyxl 更强大! 它支持 xlsx 格式的表格文件,并且支持 Numpy.Pandas 等包,可用于绘制图表 2. 准备 首先,我们需要安装依赖包 # 安装依赖包 pip3 install openpyxl 3. 读取数据 使用 openpyxl 中…
1. 前言 上一篇文章,对 Word 写入数据的一些常见操作进行了总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 相比写入数据,读取数据同样很实用! 本篇文章,将谈谈如何全面读取一个 Word 文档中的数据,并会指出一些要注意的点 2. 基本信息 我们同样使用 python-docx 这个依赖库来对 Word 文档进行读取 首先我们来读取文档的基本信息 它们分别是:章节.页边距.页眉页脚边距.页面宽高.页面方向等 在获取文档基础信息之前,我们通过文档路径构建一个文档对象 D…
1. 前言 上一篇文章简单地介绍了 PPT 的文档结构,并使用 python-pptx 这个依赖库完成对 PPT 文档最基本的操作 最全总结 | 聊聊 Python 办公自动化之 PPT(上) 作为 PPT 系列篇第 2 篇文章,将覆盖下列内容 表格 Table 图片 Image,包含静态图片.Gif 动态图片 视频 Video 2. 表格 Table 实例化一个幻灯片 Slide 对象后,就可以使用下面的方法插入一个表格 方法:slide.shapes.add_table(rows,cols,…