[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. 命名空 ...
随机推荐
- (数据科学学习手札27)sklearn数据集分割方法汇总
一.简介 在现实的机器学习任务中,我们往往是利用搜集到的尽可能多的样本集来输入算法进行训练,以尽可能高的精度为目标,但这里便出现一个问题,一是很多情况下我们不能说搜集到的样本集就能代表真实的全体,其分 ...
- COURSES POJ1469(模板)
Description Consider a group of N students and P courses. Each student visits zero, one or more than ...
- 12、K最近邻算法(KNN算法)
一.如何创建推荐系统? 找到与用户相似的其他用户,然后把其他用户喜欢的东西推荐给用户.这就是K最近邻算法的分类作用. 二.抽取特征 推荐系统最重要的工作是:将用户的特征抽取出来并转化为度量的数字,然后 ...
- Java8新特性(一)——Lambda表达式与函数式接口
一.Java8新特性概述 1.Lambda 表达式 2. 函数式接口 3. 方法引用与构造器引用 4. Stream API 5. 接口中的默认方法与静态方法 6. 新时间日期 API 7. 其他新特 ...
- 成都Uber优步司机奖励政策(3月25日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Delphi实例之橡皮筋画图的实现
Delphi实例之橡皮筋画图的实现 在<Delphi7基础教程>这本书的练习中提到过一个橡皮筋画图的例子,书上的源码是错误的!不知道是打印的错误还是本身源码就有问题,我将它改了过来. 在F ...
- LuffyCity-CMDB实战
第1章 章节一 课时01-ITIL介绍 课时02-CMDB介绍 课时03-CMDB需求讨论 课时04-CMDB需求讨论2 课时05-CMDB表结构设计 课时06-CMDB表结构设计2 课时07-CMD ...
- 1013 Battle Over Cities (25 分)(图的遍历or并查集)
这题用并查集或者dfs都可以做 dfs #include<bits/stdc++.h> using namespace std; ; bool mp[N][N]; int n,m,k; b ...
- Java课程设计--学生成绩管理系统
一.团队名称: 团队成员 林艺薇 201721123032 网络1712 黄毓颖 201721123033 网络1712 唐川 201721123034 网络1712 梁才玉 201721123038 ...
- Mybatis学习系列(三)动态SQL
在mapper配置文件中,有时需要根据查询条件选择不同的SQL语句,或者将一些使用频率高的SQL语句单独配置,在需要使用的地方引用.Mybatis的一个特性:动态SQL,来解决这个问题. mybati ...