![](https://img-blog.csdnimg.cn/202004282356544.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
【Python强基】
文章平均质量分 97
Python3 相关知识点。
何处闻韶
字节跳动-抖音-算法实习生
展开
-
【Python】浅谈 鸭子类型 (Duck Typing)
鸭子类型原创 2020-07-15 23:56:09 · 3792 阅读 · 4 评论 -
【Python】浅谈 字节码 + 虚拟机 (Python 解释器)
Python 通常被描述为一种解释语言,在这类语言中,源代码在程序运行时被“翻译”成 CPU 指令,但这还不确切。同许多解释型语言一样,Python 在正式处理代码前,内部还会进行预处理,将 Python 源代码编译成字节码,然后将其转发至 Python 虚拟机中。换言之,Python 实际上将源代码编译为虚拟机的一组指令,而这种中间格式的指令称为“字节码”,Python 解释器就是该虚拟机的实现。原创 2020-05-23 15:52:58 · 2882 阅读 · 0 评论 -
【Python】浅谈 小整数池 + 字符串驻留 (Intern 机制)
Python 中,其实存在许多内置的性能/效率优化机制。对不可变对象而言,最常见的有 小整数池 和 字符串 intern 机制,而学习这些对于我们了解 Python 及其内存优化机制是很有帮助的。原创 2020-05-18 21:25:30 · 1559 阅读 · 8 评论 -
【Python】详解 %、format、f-string (格式化字符串)
随着 Python 的更新,其字符串格式化功能也在不断地优化。在 Python 2.6 以前,% 操作符一枝独秀;在 Python 2.6 之后,迎来后起之秀 format 操作符;在 Python 3.6 之际,更有 f-string操作符异军突起。字符串格式化的逐步优化,不但简化了操作,而且提升了效率原创 2020-05-15 22:45:51 · 3970 阅读 · 0 评论 -
【Python】详解 open 函数
open() 函数原创 2020-05-15 15:46:19 · 837 阅读 · 0 评论 -
【Python】详解 with 语句 (上下文管理器) —— 异常处理完全解读 (下)
Python 对一些内建对象进行改进,加入了对上下文管理器的支持。上下文管理器的典型用途包括:保存和恢复各种全局状态、锁定和解锁资源、关闭已打开的文件等,且常使用 with 语句调用。原创 2020-05-05 23:27:25 · 2455 阅读 · 0 评论 -
【Python】详解 try-except-else-finally 语句 —— 异常处理完全解读 (上)
不同于语法错法错误 (解析错误),调试 Python 程序时,即便语句或表达式的语法正确,也可能在执行时引发错误。在执行时检测到的错误称为异常。Python 使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让 Python 不知所措的错误时,它都会创建一个异常对象。关于异常的原因,一方面,可能源自个人疏忽与考虑不周,此时需要根据异常 Traceback 到出错位置并分析改正;另一方面,有些异常无法预料或不可避免,此时可选择捕获异常并处理,从而避免程序的意外终止或崩溃。原创 2020-05-03 00:20:17 · 18584 阅读 · 0 评论 -
【Python】详解 生成器 (generator) —— 迭代器完全解读(下)
事实上,在诸如 C、C++、JAVA 等主流语言中,并无生成器的概念。而在 Python 中,生成器则与迭代器相辅相成 ——迭代器是生成一个遍历数据的迭代工具,而生成器则是数据生成工具。原创 2020-05-13 17:44:30 · 774 阅读 · 0 评论 -
【Python】详解 可迭代对象 (iterable) 与 迭代器 (iterator) —— 迭代器完全解读(上)
事实上,C++ 和 Java 中都有迭代器的概念,用法类似,均旨在解决如何在复杂场景下尽可能简便地获取数据的问题。迭代器的含义类似于遍历链表时所用到的 cur 指针 —— 总是指向当前位置并知道下一个位置。原创 2020-05-09 22:11:01 · 6019 阅读 · 1 评论 -
【Python】详解 可变/不可变对象 与 深/浅拷贝
【Python】详解 可变/不可变对象 与 深/浅拷贝原创 2020-04-10 14:12:11 · 1215 阅读 · 0 评论 -
【Python】详解 __slots__
slots 不仅能够通过属性声明 (Attribute Declaration) 限制用户随意动态修改成员,还可以减少内存消耗,提升属性访问速度。原创 2020-04-28 15:24:21 · 1575 阅读 · 0 评论 -
【Python】详解 str.maketrans() (附 Unicode 码速查表)
str.maketrans() 方法用于返回一个可供str.translate() 使用的转换对照表。原创 2020-04-30 17:26:31 · 5892 阅读 · 0 评论 -
【Python】详解 enumerate + zip 函数
枚举函数 enumerate() 可用于在接收迭代内容的同时,获取额外的计数值 (常用作索引) 而无需自定义计数器。拉链函数则可以将多个可迭代对象聚合在一起,实现同时迭代。原创 2020-04-30 22:33:43 · 3916 阅读 · 0 评论 -
【Python】详解 map 函数
map 作为 Python 的高阶函数之一,能够有效提升工作效率。如果了解过一点大数据,就知道 Hadoop 中有个分布式计算方法 MapReduce,而 Python 中的 map 和 reduce 基本可以理解为 MapReduce 的“翻版”了。因为 Python 作为一门很年轻的语言,在发展过程中尝试取各家所长,MapReduce 即为其一。在 C++、Java 等语言中,map 进一步引申为保持 key-value 映射结构的容器。Python 则将 <key,value> 结构的容器设为字典原创 2020-04-23 16:53:05 · 1188 阅读 · 0 评论 -
【Python】详解 单星号操作符 (*) 与 双星号操作符 (**)
在 Python 中,单星号操作符 (*) 与 双星号操作符 (**) 存在多种用法,如:算术运算符、字符串运算符、函数实参汇集 (打包)、函数实参分散 (解包)、解压可迭代对象赋值给多个变量等。为此,本文将详细梳理各类用法并予以说明。原创 2020-04-26 18:54:44 · 3540 阅读 · 1 评论 -
【Python】详解 逻辑运算符 (and / or / not) + 布尔逻辑 (bool)
以前看过的一些教程及网上资源对 Python 逻辑运算符部分的叙述都很简单,给出定义加上几个小例子就完事了。然而,后来才发现事情比想象中的要复杂一些,还是希望整理清楚一些。^ ^原创 2020-04-21 14:44:05 · 23855 阅读 · 5 评论 -
【Python】详解 collections.Counter
Counter,顾名思义是一个计数器。Counter 类作为一个无序的容器类型,以字典的 key-value 对形式存储元素,旨在统计各元素 (哈希项) 出现的次数。具体而言,key 表示元素,value 表示各元素 key 出现的次数,可为任意整数 (即包括0与负数)。Counter 类有时被称为bags 或 multisets 。我们在 IDLE 通过 help(collections.Counter) 可查看帮助文档。原创 2020-04-05 15:11:47 · 2589 阅读 · 0 评论 -
【Python】详解 collections.namedtuple
Python 内建普通元组 tuple 存在一个局限,即不能为 tuple 中的元素命名,故 tuple 所要表达的意义并不明显。因此,引入一工厂函数 (factory function) collections.namedtuple,以构造一个带字段名的 tuple。具名元组 namedtuple 的实例和普通元组 tuple 消耗的内存一样多 (因为字段名都被保存在对应的类中) 但却更具可读性 (namedtuple 使 tuple 变成自文档,根据字段名很容易理解用途),令代码更易维护。原创 2020-04-25 15:36:47 · 10312 阅读 · 1 评论 -
【Python】详解 collections.deque
一、绪论collections 作为 Python 的内建集合模块,实现了许多十分高效的特殊容器数据类型,即除了 Python 通用内置容器: dict、list、set 和 tuple 等的替代方案。在IDLE 输入 help(collections) 可查看帮助文档,其中常见的类/函数如下:名称 功能 namedtuple 用于创建具有命名字段的 tuple 子...原创 2020-04-29 12:00:14 · 13115 阅读 · 0 评论 -
【Python】详解 collections.defaultdict
defaultdict,顾名思义是默认字典,它返回一个类似 dict 的新对象。defaultdict 作为内置 dict 类的子类,重载了一个新方法并添加了一个可写的实例变量,而其余功能则与 dict 类相同。原创 2020-04-25 12:57:07 · 15950 阅读 · 1 评论 -
【Python】详解 random 模块
random 模块,顾名思义是与随机数操作相关的模块,它实现了各种分布的伪随机数生成器。但因为结果的完全确定性,它不适用于所有情况,特别是完全不适用于加密。以下将介绍一些常用功能。原创 2020-04-19 21:57:07 · 1379 阅读 · 0 评论 -
【Python】详解 bisect 模块
bisect 模块,顾名思义,是实现了二分 (bisection) 算法的模块,能够保持序列 sequence 顺序不变的情况下对其进行二分查找和插入,适合用于降低对冗长序列查找的时间成本。当然,通过“以空间换时间”的方式也是可行的,例如用于构造 hashmap 的 Counter 类。但本文的焦点是使用 bisect 模块 “凭查找方式降时间”,关于 Counter 模块的内容详见链接。原创 2020-04-08 12:15:32 · 9896 阅读 · 17 评论 -
【Python】详解 str、list、dict 相互转换
一、转换为字符串;二、转换为列表;三、转换为字典;四、其他原创 2020-04-01 12:12:59 · 3685 阅读 · 0 评论 -
【Python】Pyecharts 动态可视化 (饼图 Pie)
Pyecharts 是一个用于生成 Echarts 图表的类库,由 Python 实现接口,其追根溯源可以到百度曾开源的一个数据可视化 JS 库Echarts 。与我们平常用的 Matplotlib 不同,Echarts 图表不仅美观靓丽,而且是动态可交互的,API 调用也很方便,几行代码就能实现图形渲染 ... 如此美丽的绘图工具自是令人喜爱。然而,Pyecharts 也有缺点,比如官方文档目录置于左侧栏,未全汉化且标题无法折叠,查找不便;许多 API 无参数说明,仅给出实例,甚至无注释......原创 2020-04-07 12:51:00 · 8625 阅读 · 2 评论 -
【Python】趣味练习:图片转字符画
上次在实验楼看到一个挺有意思的小练习:通过小于 50 行的 Python 代码完成图片转字符画小工具,于是打算记录一下。环境要求Python 3.6 pillow argparse Windows / Linux原理介绍字符画是一系列字符的组合,可以把每个字符看作具有一种颜色的较大块像素。字符的种类越多,可表现的颜色相应越多,图片也随之更具层次感。然而,常见的彩色图片颜色丰...原创 2020-04-30 14:58:58 · 314 阅读 · 0 评论