流畅的python读书笔记
文章平均质量分 84
流畅的python读书笔记
这该死的Python竟如此的甜美
一个毕业一年的社畜
展开
-
第 9 章 符合Python风格的对象
然而,自此之后,实例读取的 self.typecode 是实例属性 typecode,也就是把同名类属性遮盖了。如果你在毫不知情的情况下又创建了名为 mood 的实例属性,那么在继承的方法中就会把 Dog 类的 mood 属性覆盖掉。避免这种情况,如果以 __mood 的形式(两个前导下划线,尾部没有或最多有一个下划线)命名实例属性,Python 会把属性名存入实例的。’ 这个名称添加到__slots__ 中,实例会在元组中保存各个实例的属性,此外还支持动态创建属性,这些属性存储在常规的。原创 2023-09-11 10:20:09 · 99 阅读 · 0 评论 -
第八章 对象引用、可变性和垃圾回收
在python中,可以把变量比喻为一个标签,而真正的对象是一个盒子,这个盒子上可以贴上多个不同的标签,如果这个盒子上没有标签,那么代表着这个盒子是个已经废弃的无用盒子。原创 2022-10-19 16:35:54 · 271 阅读 · 0 评论 -
第七章 函数装饰器和闭包
函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。这是一项强大的功能,但是若想掌握,必须理解闭包。 本章的最终目标是解释清楚函数装饰器的工作原理,包括最简单的注册装饰器和较复杂的参数化装饰器。但是,在实现这一目标之前,我们要讨论下述话题: Python 如何计算装饰器句法 Python 如何判断变量是不是局部的 闭包存在的原因和工作原理 nonlocal 能解决什么问题 掌握这些基础知识后,我们可以进一步探讨装饰器: 实现行为良好的装饰器 标准库中有用的装饰器 实现一个参数化装饰器原创 2021-09-18 14:05:42 · 88 阅读 · 0 评论 -
第五章 一等函数
在python中,函数是一等对象。编程语言理论上把一等对象定义满足以下条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数返回结果 在python中,整数,字典,字符串都是一等对象。 把函数视作对象 python函数是对象 >>> def func(): ... return 'hello word' ... >>> func() 'hello word' >>> func.__doc__原创 2021-09-17 08:14:53 · 80 阅读 · 0 评论 -
第三章,字典和集合
字典推导 from collections.abc import Mapping, MutableMapping my_dict = {} print(isinstance(my_dict, Mapping)) # 字典推导 DIAL_CODES = [ (86, 'China'), (91, 'India'), (1, 'United States'), (62, 'Indonesia'), (55, 'Brazil'), (92, 'Pakistan原创 2021-09-14 14:12:31 · 97 阅读 · 0 评论 -
第二章 序列构成的数组
内置序列类型概览 容器序列 list、tuple 和 collections.deque 这些序列能存放不同类型的数据。 扁平序列 str、bytes、bytearray、memoryview 和 array.array,这类序列只能容纳一种类型。 说明: 容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列里存放的是值而不是引用。换句话说,扁平序列其实是一段连续的内存空间。由此可见扁平序列其实更加紧凑,但是它里面只能存放诸如字符、字节和数值这种基础类型 如果按照是否被修改分类,还可以分为:原创 2021-01-08 16:38:34 · 153 阅读 · 0 评论 -
第一章,python数据模型
一摞Python风格的纸牌 import collections from random import choice Card = collections.namedtuple('Card',['rank','suit']) class FrenchDeck: ranks = [str(n) for n in range(2,11)] + list('JQKA') suits = '黑桃 方片 梅花 红桃'.split( ) def __init__(self): self._car原创 2021-01-08 15:44:48 · 104 阅读 · 0 评论