[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. 命名空 ...
随机推荐
- P1332 血色先锋队
P1332 血色先锋队 题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重 ...
- 用ServiceStack操作使用redis的问题
最近在学习Redis,查阅网上很多资料后使用SericeStack连接redis.在nuget中下载ServiceStack.Redis,主要使用到四个dll 但是运行之后会出现一堆奇怪问题:没有实现 ...
- guacamole实现上传下载
目录 1. 源码解读 2. 上传下载的核心代码 分析的入手点,查看websocket连接的frame 看到首先服务端向客户端发送了filesystem请求,紧接着浏览器向服务端发送了get请求,并且后 ...
- Unity5.6偶尔不能创建项目解决办法
Unity5.6偶尔启动后,不能创建项目,解决办法如下: 1.打开Unity 2.在开始窗口退出当前登录的账户 3.重新登录 4.然后就可以创建新项目了 5.如果以上方法不生效,关闭Unity再重试一 ...
- 做模态弹框的时候,防止背景滚动方法 移动端 html5
$(window.document).bind("touchmove", function() { return false; });
- 虚拟现实-VR-UE4-创建第一个C++项目——Hello word
这部分主要是调用在C++中用代码实现在游戏界面上面输出一行文字 第一步,新建C++版本的工程文件,在4.12版本以后,在创建后,都会自动打开Vs编译器. 如下图 在VS中点击编译,等带编译,第一次等待 ...
- POSTMAN——环境变量
打开Manage Environment 设置几个自己的环境变量 可以在此看到设置的环境变量 在URL栏填写变量名,这个变量对应着百度的网址 send后可以查看回显 接下来设置全局变量,点开globa ...
- LuffyCity-CMDB实战
第1章 章节一 课时01-ITIL介绍 课时02-CMDB介绍 课时03-CMDB需求讨论 课时04-CMDB需求讨论2 课时05-CMDB表结构设计 课时06-CMDB表结构设计2 课时07-CMD ...
- json格式化显示样式js代码分享
最近开发中需要在页面展示json.特整理了下代码,送给大家,希望能帮到有同样需求的朋友们. 代码: <html> <script src="http://cdn.bootc ...
- URAL 1732 Ministry of Truth(KMP)
Description In whiteblack on blackwhite is written the utterance that has been censored by the Minis ...