《Python Cookbook 3rd》笔记汇总

文章目录

  • 一、数据结构
  • 二、字符串和文本
  • 三、数字、日期和时间
  • 四、迭代器与生成器
  • 五、文件与IO

一、数据结构

标题关键词
1.1:拆分序列后赋值给多个变量可迭代对象、拆分赋值
1.2:拆分任意长可迭代对象后赋值给多个变量可迭代对象、拆分赋值、星号表达式
1.3:保留最近N个元素collections.deque、限容双端队列、yield
1.4:查找最大或最小的N个元素heapq、堆
1.5:实现一个优先级队列heapq、堆、元组比较
1.6:字典中的键映射多个值字典、collections.defaultdict
1.7:字典排序collections. OrderedDict、双向链表
1.8:字典运算字典、最小值、最大值、排序、键集、值集、键值对换、lambda
1.9:查找两字典的相同点set、集合交与差的运算、字典推导式
1.10:删除序列相同元素并保持顺序set、yield、list、lambda
1.11:命名切片魔数、切片、slice()、indices()
1.12:序列中出现次数最多的元素collections.Counter、字典
1.13:通过某个关键字排序一个字典列表排序、sorted()、operator.itemgetter、lambda
1.14:排序不支持原生比较的对象排序、sorted()、operator.attrgetter、lambda
1.15:通过某个字段将记录分组分组、operator.itemgetter、litertools.groupby()
1.16:过滤序列元素列表推导式、生成器表达式、itertools.compress()
1.17:从字典中提取子集字典推导式
1.18:映射名称到序列元素下标另名为、collections.namedtuple()
1.19:转换并同时计算数据聚集函数、sum()、max()、min()、列表推导式、生成器表达式
1.20:合并多个字典或映射逻辑上的字典、collections.ChainMap

二、字符串和文本

标题关键词
2.1:使用多个界定符分割字符串re、split()、正则式、非捕获分组、生成器表达式、[:]、[::]
2.2:字符串开头或结尾匹配str.startswith()、str.endswith()、列表推导式
2.3:用Shell通配符匹配字符串fnmatch.fnmatch()、fnmatch.fnmatchcase()、列表推导式
2.4:字符串匹配和搜索re、正则式、compile()、match()、findall()、group()
2.5: 字符串搜索和替换re、正则式、compile()、sub()、str.repalce()
2.6:字符串忽略大小写的搜索替换re、正则式、re.IGNORECASE
2.7:最短匹配模式re、正则式、非贪婪模式
2.8:多行匹配模式re、正则式、非捕获组、re.DOTALL
2.9:将Unicode文本标准化unicodedata.normalize()
2.10:在正则式中使用 Unicodere、正则式、Unicode
2.11:删除字符串中不需要的字符str.strip()、str.lstrip()、str.rstrip()
2.12:审查清理文本字符串str.translate()、str.replace()
2.13:字符串对齐str.ljust() 、str.rjust()、str.center()、format()、%
2.14:合并拼接字符串+、str.join()、format()、yield
2.15:字符串中插入变量str.format()、str.format_map()
2.16:以指定列宽格式化字符串textwrap.fill()
2.17:在字符串中处理html和xmlhtml.escape()、html.parser、xml.sax.saxutils
2.18:字符串令牌解析re、正则式、编译原理
2.19:实现一个简单的递归下降分析器re、正则式、编译原理
2.20:字节字符串上的字符串操作字节字符串

三、数字、日期和时间

标题关键词
3.1:数字的四舍五入round()、format()
3.2:执行精确的浮点数运算Decimal
3.3:数字的格式化输出format()
3.4:二、八、十六进制整数bin()、oct()、hex()、format()
3.5:字节到大整数的打包与解包int.from_bytes()、int.to_bytes()
3.6:复数的数学运算complex()、cmath、numpy
3.7:无穷大与 NaNfloat()、man.isinf()、math.isnan()
3.8:分数运算Fraction
3.9:大型数组运算numpy
3.10:矩阵与线性代数运算numpy
3.11:随机选择random
3.12:基本的日期与时间转换datetime、timedelta
3.13:计算最后一个周五的日期datetime、timedelta
3.14:计算当前月份的日期范围datetime、timedelta、date、calendar
3.15:字符串转换为日期datetime
3.16:结合时区的日期操作datetime、pytz

四、迭代器与生成器

标题关键词
4.1:手动遍历迭代器next()、iter()
4.2:代理迭代__iter__()
4.3:使用生成器创建新的迭代模式frange()、range()、next()
4.4:实现迭代器协议yield、yield from
4.5:反向迭代reversed()
4.6:带有外部状态的生成器函数__iter__()
4.7:迭代器切片itertools.islice()
4.8:跳过可迭代对象的开始部分itertools.dropwhile()、islice()
4.9:排列组合的迭代itertools.permutations()排列、itertools.combinations()组合
4.10:序列上索引值迭代enumerate()枚举
4.11:同时迭代多个序列zip()
4.12:不同集合上元素的迭代itertools.chain()
4.13:创建数据处理管道yield、yield from、itertools.chain()
4.14:展开嵌套的序列isinstance()、yield from
4.15:顺序迭代合并后的排序迭代对象heapq.merge()
4.16:迭代器代替 while 无限循环iter()、lambda

五、文件与IO

标题关键词
5.1:读写文本数据open(), with…as…, encoding=
5.2:打印输出至文件中print(’’, file=f)
5.3:使用其他分隔符或行终止符打印print(’’, ‘’, ‘’, sep=’’, end=’’), str.join((’’,))
5.4:读写字节数据open(), rb, wb
5.5:文件不存在才能写入open(), xt, xb, os.path.exists()
5.6:字符串的 I/O 操作io.StringIO(), io.BytesIO()
5.7:读写压缩文件gzip, bz
5.8:固定大小记录的文件迭代iter(), functools.partial()
5.9:读取二进制数据到可变缓冲区中bytearray(), file.readinto
5.10:内存映射的二进制文件mmap
5.11:文件路径名的操作os.path
5.12:测试文件是否存在os.path
5.13:读写压缩文件os.listdir(), glob
5.14:忽略文件名编码sys.getfilesystemencoding()
5.15:打印不合法的文件名UnicodeEncodeError
5.16:增加或改变已打开文件的编码io.TextIOWrapper()
5.17:将字节写入文本文件sys.stdout.buffer.write(b’’)
5.18:将文件描述符包装成文件对象os.open(), open()
5.19:创建临时文件和文件夹tempfile.TemporaryFile, tempfile.NamedTemporaryFile, tempfile.TemporaryDirectory()
5.20:与串行端口的数据通信serial.Serial()
5.21:序列化 Python 对象pickle.dump(), pickle.load()

待续

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql hp ux_hp ux apa 切换

(HP-UX Only) OR - 1 heartbeat network using APA with 2 trunk members (HP-UX Only) OR - 1 heartbeat network with serial line (HP-UX Only) OR......一、 概述 HP 的 APA 软件提供两种网卡冗余切换模式,用以实现网络高可用性...0x000000000000 hp_apa HP-UX 11i v3 Prer…

Python中[:]与[::]的用法

Python中[:]与[::]的用法 概述 [:]与[::]语法是通用序列操作(Common Sequence Operations)其中的两个。用[:]或[::]对多数序列类型(可变的或不可变的)(如字符串、列表等)序列中元素进行截取。 [:]的用法…

mysql redis 中间件_Docker快速搭建Mysql社区版,Redis,MongoDb、MQ等等中间件。

一:安装docker社区版。Centos系列(最好用7以上的版本,docker需要3.1以上的linux内核版本)sudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo docker run hello-world如果你敲docker info需要root密码,…

JavaScript中String的slice(),substr(),substring()三者区别

JavaScript中String的slice(),substr(),substring()三者区别 共同之处 从给定的字符串中截取片段,并返回全新的这片段的字符串对象,且不会改动原字符串。 具体不同之处 slice() str.slice(beginIndex[, endIndex])参数描述be…

pythontuple数据类型_数据类型-元组Tuple

Python Tuple用于存储不可变python对象的序列。元组类似于列表,因为可以改变列表中存储的项的值,而元组是不可变的,并且不能改变存储在元组中的项的值。元组可以写成用小括号括起来的逗号分隔值的集合。元组可以定义如下。T1 (101, "Ay…

《剑指Offer》24:反转链表

题目 定义一个函数,输入一个链表的头节点,反转链表并输出反转后链表的头节点。链表节点定义如下: public static class ListNode{public int val;public ListNode next;public ListNode(int val) {this.val val;} }分析 方法一&#xff1…

python两个for循环为什么第二个循环里值不变_两个for循环,第二个只在第一个迭代python上执行...

我是一个pythonnoob,我试图比较两个文件中的行之间的值,如果行在第二个文件中,则输出“line name”,然后输出1;如果第二个文件中缺少该行,则输出0。第一次迭代返回1,因为该行在第二个文件中&…

python如何问问题_学会正确的提问

可能很多读者看到这个标题会感觉很可笑,提问谁不会啊,互联网时代,提问还不是一句话的事情?个人、技术群、论坛里都可以提问啊,「你好」「在吗?」「有人用过 xx 工具吗?」。首先,提问…

如何保证接口的幂等性

如何保证接口的幂等性 什么是幂等性 幂等性是系统服务对外一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。 通俗地说,接口幂等性就是…

mysql二进制方式_MySQL数据库之MySql二进制连接方式详解

本文主要向大家介绍了MySQL数据库之MySql二进制连接方式详解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。使用mysql二进制方式连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接my…

xposed模块编写教程_太极xposed模块使用教程

今天给大家分享一下太极xposed模块使用教程。很多小伙伴说下载不到Xposed模块,这个网上其实很多,但是第三方的下载站就算了吧。我也是一个深受其害的网瘾少年,只要是下载站的软件,一不留心一次性电脑可能会多安装好多个软件&#…

如何使用mysql添加更新_Mysql 存在既更新,不存在就添加(sql语句)

讨人喜欢的 MySQL replace into 用法(insert into 的增强版)在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。在 SQL Server 中可以这样处理…

linux + nginx + mysql + php 百度网盘_5.LNMP(Linux + Nginx + MySQL + PHP)环境安装

1.安装Nginx:yum install yum-priorities -ywget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmrpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpmyum -y install nginxsystemctl start nginx.servicesystemctl stop ngin…

LeetCode - Easy - 28. Implement strStr()

Topic Two Pointers, String Description https://leetcode.com/problems/implement-strstr/ Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. needle /ˈniːdl/ n.针 haystack /ˈheɪ…

mysql item_MySQL源代码:关于MySQL的Item对象

前篇介绍了MySQL如何从SQL语句转换成一个内部对象。本文是前篇的延续,将更加详细的介绍WHERE语句对应的Item对象。1. Item对象MySQL InternalMySQL Internals Manual较为详细的介绍了Item对象。Item对象经常被称作"thingamabob"(A thingamabob is a noun …

python的发展趋势图_用Python绘制趋势图

我在数据帧中有以下数据:-------------------------------------------------------| Physician Profile Id | Program Year | Value Of Interest |-------------------------------------------------------| 1004777 | 2013 | 83434288.00 || 1004777 | 2014 | 89…

mysql的实现类注解_Mybaits (XML方式:无需在写Dao的实现类 注解方式:Dao的实现类与Mapper都可以不写 重点理解)...

Maven的pom.xml 坐标配置4.0.0Mybatis_mavenday01_mbatis1.0-SNAPSHOTjarorg.mybatismybatis3.4.5mysqlmysql-connector-java5.1.45junitjunit4.12testorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.81.8UTF-8mybatis的配置文件/p>PUBLIC "-//mybatis.org//DTD…

SQL字符串中单引号与换行符的转义

问题 打算将文本文件内容添加至MySQL数据库,则需要对文本中的单引号和换行符进行转义,否则无法编写合法的SQL。 解法 迭代文本文件的行时,将原行尾的换行符剔除掉,并拼接\\n;迭代文本文件的行时,将原行中的替换成。…

mysql 建库字段_MySQL 的字段类型以及建库策略

一、数字类型所谓的“数字类”,就是指 DECIMAL 和NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗…

mysql中建立text_mysql中text

一,char类型char列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存char值时,在它们的右边填充空格以达到指定的长度。当检索到char值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。二,varcha…