自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 流畅的python学习笔记(五):面向对象惯用法(3:序列的修改、散列和切片 )

序列的修改、散列和切片1. Vector类第1版:与 Vector2d 类兼容 本章将以上一篇博客定义的二维向量 Vector2d 类为基础,向前迈出一大步,定义表示多维向量的 Vector 类。这个类的行为与 Python 中标准的不可变扁平序列一样。Vector 实例中的元素是浮点数,本章结束后Vector 类将支持下述功能: 基本的序列协议—— __len__ 和 __getitem__ 正确表述拥有很多元素的实例 适当的切片支持,用于生成新的 Vector 实例 综合各个元素的值计算散列值 自定

2021-01-22 15:37:38 135

原创 流畅的python学习笔记(五):面向对象惯用法(2:符合 Python 风格的对象 )

符合 Python 风格的对象1. 对象表示形式2. 再谈向量类 得益于 Python 数据模型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子类型(duck typing):我们只需按照预定行为实现对象所需的方法即可。 本章包含以下话题: 支持用于生成对象其他表示形式的内置函数(如repr()、bytes(),等等) 使用一个类方法实现备选构造方法 扩展内置的 format() 函数和 str.format() 方法使用的格式微语言 实现只读属性 把对象变为可散列的

2021-01-12 11:21:07 145

原创 流畅的python学习笔记(五):面向对象惯用法(1:对象引用、可变性和垃圾回收 )

函数装饰器和闭包1. 变量不是盒子 本章的主题是对象与对象名称之间的区别。名称不是对象,而是单独的东西。 本章先以一个比喻说明 Python 的变量:变量是标注,而不是盒子。如果你不知道引用式变量是什么,可以像这样对别人解释别名。 本章讨论对象标识、值和别名等概念。随后,本章会揭露元组的一个神奇特性:元组是不可变的,但是其中的值可以改变,之后就引申到浅复制和深复制。接下来的话题是引用和函数参数:可变的参数默认值导致的问题,以及如何安全地处理函数的调用者传入的可变参数。 本章最后一节讨论垃圾回收、del 命

2021-01-06 16:07:44 237 2

原创 流畅的python学习笔记(四):把函数视作对象(3:函数装饰器和闭包 )

函数装饰器和闭包1. 装饰器基础知识2. Python何时执行装饰器3. 使用装饰器改进“策略”模式4. 变量作用域规则5. 闭包6. nonlocal声明7. 实现一个简单的装饰器 函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。这是一项强大的功能,但是若想掌握,必须理解闭包。 nonlocal是新近出现的保留关键字,在 Python 3.0 中引入。作为Python 程序员,如果严格遵守基于类的面向对象编程方式,即便不知道这个关键字也不会受到影响。然而,如果你想自己实现函数装饰器,那就必

2021-01-04 20:05:57 233 1

原创 流畅的python学习笔记(四):把函数视作对象(2:使用一等函数实现设计模式 )

一等函数设计模式1. 经典的“策略”模式2. 使用函数实现“策略”模式 如果合理利用作为一等对象的函数,某些设计模式可以简化,“策略”模式就是其中一个很好的例子。本节接下来的内容中将说明“策略”模式,并使用《设计模式:可复用面向对象软件的基础》一书中所述的“经典”结构实现它。 1. 经典的“策略”模式 图中的 UML 类图指出了“策略”模式对类的编排。 《设计模式:可复用面向对象软件的基础》一书是这样概述“策略”模式的: 定义一系列算法,把它们一一封装起来,并且使它们可以相互替换。本模式使得算法可以

2020-12-24 10:26:31 118

原创 流畅的python学习笔记(四):把函数视作对象(1:一等函数)

一等函数1. 把函数视作对象 在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 在 Python 中,整数、字符串和字典都是一等对象——没什么特别的。如果在 Python 之前,你使用的语言并未把函数当作一等公民,那么本章以及第三部分余下的内容将重点讨论把函数作为对象的影响和实际应用。 1. 把函数视作对象 ...

2020-12-22 16:50:19 225 2

原创 流畅的python学习笔记(三):数据结构(3:文本和字节序列)

文本和字节序列大纲字符问题字节概要 大纲 本章将讨论下述话题: 字符、码位和字节表述 bytes、bytearray 和 memoryview 等二进制序列的独特特性 全部 Unicode 和陈旧字符集的编解码器 避免和处理编码错误 处理文本文件的最佳实践 默认编码的陷阱和标准 I/O 的问题 规范化 Unicode 文本,进行安全的比较 规范化、大小写折叠和暴力移除音调符号的实用函数 使用 locale 模块和 PyUCA 库正确地排序 Unicode 文本 Unicode 数据库中的字符元数据 能处

2020-12-18 17:13:59 353

原创 流畅的python学习笔记(三):数据结构(2:字典和集合)

文章目录字典和集合泛映射类型 字典和集合 dict 类型不但在各种程序里广泛使用,它也是 Python 语言的基石。模块的命名空间、实例的属性和函数的关键字参数中都可以看到字典的身影。跟它有关的内置函数都在 __builtins__.__dict__模块中。 正是因为字典至关重要,Python 对它的实现做了高度优化,而散列表则是字典类型性能出众的根本原因。 集合(set)的实现其实也依赖于散列表,因此本节也会讲到它。反过来说,想要进一步理解集合和字典,就得先理解散列表的原理。 本节大纲: 常见的字典方

2020-12-07 17:53:12 179

原创 流畅的python学习笔记(三):数据结构(1)

文章目录概述序列列表推导和生成器表达式列表推导和可读性列表推导同filter和map的比较笛卡尔积生成器表达式元组不仅仅是不可变的列表把元组用作记录元组拆包嵌套元组拆包具名元组切片对对象进行切片给切片赋值待续。。。 概述 本章讨论的内容几乎可以应用到所有的序列类型上,从我们熟悉的list,到 Python 3 中特有的 str 和 bytes。我还会特别提到跟列表、元组、数组以及队列有关的话题。 序列 最重要也最基础的序列类型应该就是列表(list)了。list 是一个可变序列,并且能同时存放不同类型的元

2020-11-24 18:24:58 430

原创 流畅的python学习笔记(二):特殊方法的使用

文章目录一个简单的二维向量类字符串表现形式算术运算符自定义布尔值 特殊方法的存在是为了被python解释器调用的,你自己并不需要调用他们。也就是说没有 my_object.len() 这种写法,而应该使用 len(my_object)。 在执行 len(my_object) 的时候,如果 my_object 是一个自定义类的对象,那么Python 会自己去调用其中由你实现的 len 方法。 ''' 通常你的代码无需直接使用特殊方法。除非有大量的元编程存在,直接调用特殊方法的频率应该远远低于你去实现它们的次数

2020-11-13 15:16:46 76

原创 流畅的python学习笔记(一):序章

流畅的python--------------1.序章初窥门径一摞Python风格的纸牌,初步展示python内置方法的强大。抽取指定位置的一张纸牌随机抽取一张纸牌切片和迭代in排序 写在前面 人们总是倾向于追求自己熟悉的东西,这在大多数情况下限制了你的成长。python是一门极容易上手又强大的语言,但需要注意的是,正因为如此,所以很多python程序员只用到了其强大功能的一部分 。《流畅的python》并不是一本完整的python使用手册,而是强调python作为编程语言独有的特性,这些特性只是pyt

2020-11-13 12:43:16 106

原创 python自建通用数据库连接池

python自建通用数据库连接池使用场景初始化连接池基类使用pymongo创建连接从队列中获取mongodb连接关闭连接连接池基类完整代码创建mongodb连接池插入数据基本查询分页查询分组查询更新删除mongodb连接池完整代码使用永无止境 使用场景 可以作为python各种orm插件的替代品,同时通用性更好,也更好控制和优化。 如果项目中使用了不同的数据库,例如使用了mysql和mongodb, 使用自建连接池只需要熟悉原生的方法而不需要熟悉各种orm参数和api,在控制方面可以说能做到随心所欲。 随着

2020-10-22 12:08:30 1214 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除