[Book Content]Python进阶
python进阶
原书内容https://github.com/eastlakeside/interpy-zh
通过记录书本目录和大概内容做一个记录,方便以后回顾检索。
| Chapter | Title | Brief | More |
|---|---|---|---|
| 1 | *argv和**kwargv | 给函数输入可变参数 | argv为列表,kwargv为字典 |
| 2 | 调试pdb | 代码层面下断点调试 | |
| 3 | 生成器 | 定义了__iter__或__getitem__的为可迭代对象,定义了__next__的为迭代器 | yeild的用处 |
| 4 | Map, Filter and Reduce | - map会将一个函数映射到一个列表上的所有函数,map(function_to_apply, list_of_outputs)。python3返回一个迭代器,list返回列表。 - filter过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表。 - reduce可以对一个列表进行一些计算并返回结果,类似归并。 |
|
| 5 | set数据结构 | set不能包含重复元素 | - 交集:set1.intersection(set2) - 差集:set1.difference(set2) |
| 6 | 装饰器 | 在执行一个函数期间需要执行其他操作,可以使用装饰器,更简单的就是定义装饰器然后使用@ | |
| 7 | 对象变动Mutation | 注意默认值,且python默认值只初始一次 | |
| 8 | __slots__魔法 | 节省小类的资源 | |
| 9 | 虚拟环境 | virtualenv | |
| 10 | Collections | defaultdict, counter, deque, namedtuple, enum.Enum | |
| 11 | 枚举 Enumerate | ||
| 12 | 对象自省(introspection) | dir, type, id, inspect | |
| 13 | 推导式(comprehension) | 从一种数据序列构建另一种新的数据序列的结构体 eg. list, dict, set | 集合的推倒式为{},因为()生成的是迭代器 |
| 14 | 异常 | try, except, finally, else | 不管触不触发异常都执行finally,异常不触发执行else |
| 15 | lambda表达式 | lambda 参数: 操作(参数) | |
| 16 | 一行式 | 简易WebServer 漂亮的打印 脚本性能分析 csv转json 列表flat 一行构造器 |
python3 -m http.server from pprint import pprint python -m cPorfile my_script.py ... |
| 17 | for else | 当循环完整执行后执行else语句 | |
| 18 | 使用C扩展 | Ctypes, SWING, Python/C API | |
| 19 | 协程 | 如果迭代器是数据的生成者,那么协程就是消费者 | line = (yield), 通过外部send给协程,就可以执行后续的if pattern in line,关闭用close() |
| 20 | 函数缓存 | 函数缓存允许我们将一个函数对于给定参数的返回值缓存起来 | @lr_cache(maxsize=32), 清除缓存使用function.cache_clear() |
| 21 | 上下文管理(with语法) | 基于类实现__enter__和__exit__ 处理异常 基于生成器@contextmanager |
[Book Content]Python进阶的更多相关文章
- Python进阶:全面解读高级特性之切片!
导读:切片系列文章连续写了三篇,本文是对它们做的汇总.为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔 ...
- Python进阶:迭代器与迭代器切片
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...
- python进阶05 常用问题库(1)json os os.path模块
python进阶05 常用问题库(1)json os os.path模块 一.json模块(数据交互) web开发和爬虫开发都离不开数据交互,web开发是做网站后台的,要跟网站前端进行数据交互 1.什 ...
- Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究
Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: 反射的概念是由Smith在1982年首次提出的 ...
- Python学习day09 - Python进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python进阶 - 命名空间与作用域
Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...
随机推荐
- P1049 装箱问题
装箱问题 题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使 ...
- LeetCode:3.Longest Substring Without Repeating Characters
思路:看到题目首先想到最大字符串匹配KMP算法 public static int lengthOfLongestSubstring(String s) { int maxLength = 0; St ...
- 用ServiceStack操作使用redis的问题
最近在学习Redis,查阅网上很多资料后使用SericeStack连接redis.在nuget中下载ServiceStack.Redis,主要使用到四个dll 但是运行之后会出现一堆奇怪问题:没有实现 ...
- shell -- sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- Thymeleaf 常用th标签基础整理
(一)Thymeleaf 是个什么? 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下 ...
- ExtJs工具篇(1)——在Aptana3中安装ExtJS 代码提示插件
首先得下载Aptana 这个软件,我下载的是Aptana3这个版本.下载后,在"帮助"菜单中选择"安装新软件",弹出下面的对话框: 我们需要安装一个叫做&quo ...
- C#获取网络图片
简单获取图片 string url = zhi_txt.Text;//图片地址 string dizhi = lujing.Text;//图片下载后保存路径及图片名称要写在一块 WebClient w ...
- 【题解搬运】PAT_A1016 Phone Bills
从我原来的博客上搬运.原先blog作废. 题目 A long-distance telephone company charges its customers by the following rul ...
- Sumsets 递推
Sumsets Time Limit : 6000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submi ...
- Spark实战练习03--Pair RDD
一.场景 现有某网站的网站日志,内容为用户对网站的请求,包含user ID.IP address.datetime……等等 另有一份文件中包含用户的账户详细信息数据,包含User ID.creatio ...