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进阶的更多相关文章

  1. Python进阶:全面解读高级特性之切片!

    导读:切片系列文章连续写了三篇,本文是对它们做的汇总.为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔 ...

  2. Python进阶:迭代器与迭代器切片

    2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...

  3. python进阶05 常用问题库(1)json os os.path模块

    python进阶05 常用问题库(1)json os os.path模块 一.json模块(数据交互) web开发和爬虫开发都离不开数据交互,web开发是做网站后台的,要跟网站前端进行数据交互 1.什 ...

  4. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  5. Python学习day09 - Python进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  6. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  7. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  8. Python进阶-继承中的MRO与super

    Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...

  9. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

随机推荐

  1. Prime Ring Problem (DFS练习题)

    K - Prime Ring Problem ============================================================================= ...

  2. STL 入门 (17 暑假集训第一周)

    快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...

  3. 深度学习之卷积神经网络CNN

    转自:https://blog.csdn.net/cxmscb/article/details/71023576 一.CNN的引入 在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连 ...

  4. 使用Visual Studio 2017构建.Net Core的Docker镜像

    1 Docker  镜像优化 微软在为开发人员生成 Docker 镜像时,提供以下三种主要方案: 用于开发 .NET Core 应用的 镜像 用于构建生成 .NET Core 应用的 镜像 用于运行 ...

  5. ACE学习综述(1)

    1. ACE学习综述 1.1. ACE项目的优点 可以跨平台使用,基本上可以实现一次编写,多平台运行. ACE本身不仅仅是一个简单的网络框架,对于网络框架涉及到的进程管理.线程管理等系统本身相关的内容 ...

  6. RDL/RDLC批量单据打印

    使用RDL或RDLC进行单据打印时,单张单据打印比较直观简单,无需说明.下面我们来谈一下批量单据打印的实现方法.以下以RDL的ReportBuilder设计环境为例进行讲解,RDLC.VS设计环境同理 ...

  7. spring-data-jpa 简单使用心得

    对于总是使用mybatis的我,突发奇想的想使用spring-data-jpa搭一个小环境,这几天处处碰壁,现总结如下: 环境采用springboot maven需要导入: <dependenc ...

  8. 软工实践Beta冲刺(5/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  9. Extjs的API阅读方式(整理)

    原文链接:http://www.cnblogs.com/gaojun/archive/2013/05/28/3103908.html

  10. 【EasyNetQ】- 发布

    EasyNetQ支持的最简单的消息传递模式是发布/ 订阅.这种模式是消除消费者信息提供者的绝佳方式.出版商简单地向全世界说,“这已经发生了”或“我现在有了这些信息”.它不关心是否有人正在倾听,他们可能 ...