
流畅的python
jason_mai
这个作者很懒,什么都没留下…
展开
-
第16章--协程
第16章–协程协程是用户态的轻量级线程,一个线程内可以有多个协程,协程之间的切换由用户决定,不涉及线程切换跟进程切换,所以切换效率最高进程线程的切换是系统级的,是抢占式切换,协程的切换是用户态的,是非抢占式切换,协程主动交出控制权,协程概念相关的知识可以参考廖雪峰的网站–https://www.liaoxuefeng.com/wiki/897692888725344/9230574031982...原创 2019-11-14 13:25:49 · 195 阅读 · 0 评论 -
第15章--上下文管理器和else块
第15章–上下文管理器和else块15.1 else块else语句不仅可以用于if后面,也可以用于for while try后for仅当 for 循环运行完毕时(即 for 循环没有被 break 语句中止)才运行 else 块。while仅当 while 循环因为条件为假值而退出时(即 while 循环没有被 break 语句中止)才运行 else 块。try仅当 try 块中...原创 2019-11-12 15:33:32 · 144 阅读 · 0 评论 -
第14章可迭代的对象,迭代器和生成器
第14章可迭代的对象,迭代器和生成器这一章大部分内容跟我之前写的一篇文章有重合https://blog.youkuaiyun.com/qq_36267931/article/details/102954056后面再补充一些书中的内容标准库中的生成器函数可迭代的归约函数iter函数的两个参数iter函数传入两个参数:第一个参数是可调用对象,用于不断调用(没有参数),并返回值,第二个参数是哨...原创 2019-11-11 16:16:41 · 167 阅读 · 0 评论 -
可迭代、迭代器和生成器
可迭代、迭代器和生成器可迭代的英文是iterable迭代器的英文是iterator生成器的英文是generator三者的关系iterable、iterator、generator的关系由官方给定的抽象基类关系表格就可以看出 https://docs.python.org/3/library/collections.abc.html#collections-abstract-base-c...原创 2019-11-07 14:19:41 · 490 阅读 · 0 评论 -
第13章--正确重载运算符
第13章–正确重载运算符本章将讨论:• Python 如何处理中缀运算符中不同类型的操作数• 使用鸭子类型或显式类型检查处理不同类型的操作数• 中缀运算符如何表明自己无法处理操作数• 众多比较运算符(如 ==、>、<=,等等)的特殊行为• 增量赋值运算符(如 +=)的默认处理方式和重载方式13.1python对重载运算符的限制• 不能重载内置类型的运算符(list,di...原创 2019-11-11 12:41:03 · 217 阅读 · 0 评论 -
第12章--继承的优缺点
第12章–继承的优缺点本章探讨继承和子类化,重点是说明对 Python 而言尤为重要的两个细节:• 子类化内置类型的缺点–例如写一个继承list的列表类• 多重继承和方法解析顺序子类化内置类型结论:不要子类化内置类型,而是选择子类化collections模块对应的类比如UserDict UserList UserStr原因:内置类型比如list、dict使用c语言编写的,内置类型不会调...原创 2019-11-11 11:27:22 · 232 阅读 · 0 评论 -
第10章--序列的修改、散列和切片
第十章–序列的修改、散列和切片这一章主要是通过一个例子–Vector类的实现来讲解序列的序列化、哈希化、格式化、和获取修改类属性的一些方法与技巧,下面是书本的源代码,我在代码的对应函数前面用###加了注释,并在最后列出了一些重要的知识点,我觉得这样有利于对书中概念的理解# BEGIN VECTOR_V5"""A multi-dimensional ``Vector`` class, tak...原创 2019-11-06 17:57:34 · 186 阅读 · 0 评论 -
第9章--符合python风格的对象
第九章–符合python风格的对象这一章接续第 1 章,说明如何实现在很多 Python 类型中常见的特殊方法。本章包含以下话题:• 支持用于生成对象其他表示形式的内置函数(如 repr()、bytes(),等等)• 使用一个类方法实现备选构造方法• 扩展内置的 format() 函数和 str.format() 方法使用的格式微语言• 实现只读属性• 把对象变为可散列的,以便在集合...原创 2019-11-05 00:54:10 · 189 阅读 · 0 评论 -
第8章--对象引用、可变性和垃圾回收
第八章–对象引用、可变性和垃圾回收这一章主要介绍pyhton的变量引用方式、传参方式和垃圾回收,比较简单,所以笔记比较简陋is跟====用于判断值是否相等is用于判断两个实例是否是同一个实例或者指向同一个实例 ,直接比较id深复制与浅复制默认浅复制copy模块提供deepcopy和copy函数可变类型做函数参数不要用可变类型作为函数的默认参数,比如[]{}这种默认值python...原创 2019-11-04 16:49:06 · 180 阅读 · 0 评论 -
第7章--函数装饰器和闭包
第七章–函数装饰器和闭包本章的最终目标是解释清楚函数装饰器的工作原理,包括最简单的注册装饰器和较复杂的参数化装饰器。但是,在实现这一目标之前,我们要讨论下述话题:• Python 如何计算装饰器句法• Python 如何判断变量是不是局部的• 闭包存在的原因和工作原理• nonlocal 能解决什么问题掌握这些基础知识后,我们可以进一步探讨装饰器:• 实现行为良好的装饰器• 标准...原创 2019-11-04 14:57:49 · 206 阅读 · 0 评论 -
第5章--一等函数
第五章–一等函数一等对象定义为满足以下条件的程序实体在运行时创建能赋值给变量或者数据结构中的元素能作为参数传给函数能作为函数的返回结果python中函数就是一等对象,简称一等函数5.1 把函数视为对象函数是一个对象,自定义的函数是函数对象的一个实例,函数对象有一些默认的属性,比如__doc__def factorial(n): '''return n!''' ...原创 2019-10-30 20:51:53 · 319 阅读 · 0 评论 -
第4章--文本和字节序列
第四章–文本和字节序列本章将讨论下述话题:• 字符、码位和字节表述• bytes、bytearray 和 memoryview 等二进制序列的独特特性• 全部 Unicode 和陈旧字符集的编解码器• 避免和处理编码错误• 处理文本文件的最佳实践• 默认编码的陷阱和标准 I/O 的问题• 规范化 Unicode 文本,进行安全的比较• 规范化、大小写折叠和暴力移除音调符号的实用函...原创 2019-10-30 16:42:13 · 526 阅读 · 0 评论 -
第3章--字典与集合
第三章–字典与集合本章内容的大纲如下:• 常见的字典方法• 如何处理查找不到的键• 标准库中 dict 类型的变种• set 和 frozenset 类型• 散列表的工作原理• 散列表带来的潜在影响(什么样的数据类型可作为键、不可预知的顺序,等等)3.1泛映射类型collections.abc模块中有Mapping和MutableMapping两个抽象基类,作用是给dict或其他...原创 2019-10-27 17:34:37 · 268 阅读 · 0 评论 -
第2章--序列构成的数组
第二章–序列构成的数组2.1 python内置序列类型按存储类型来分容器系列 list、tuple、collections.deque 能存放不同类型的数据扁平系列 str、bytes、bytearray、memoryview、array.array 只能存放特定的一种类型的数据容器系列存放的是对象的引用,扁平系列存放的是值,是一段连续的内存空间按能否被修改来分可变序列...原创 2019-10-26 17:18:09 · 385 阅读 · 0 评论 -
第1章--python数据模型
第一章–python数据模型这一章主要介绍了python的特殊函数的使用和注意事项,特殊函数即内置的以‘__’为开头结尾的函数collections.namedtuple用于构造只有少数属性但没有方法的对象,类似于c语言中的struct https://docs.python.org/3.8/library/collections.html#collections.n...原创 2019-10-26 11:25:13 · 338 阅读 · 0 评论 -
《流畅的python》概述
《流畅的python》概述《流畅的python》适合有一定python开发经验的人进阶使用,它并非python使用手册、而是会强调python的独有特性,重点会讲述python的语言核心跟基本库。书本分为六个主题介绍python的数据模型data model和数据模型如何保证行为一致性介绍各种集合类型,sequence mapping set介绍函数相关的高级用法介绍类的构建跟类的高...原创 2019-10-26 11:23:38 · 499 阅读 · 0 评论