『流畅的Python』第9章笔记_对象】的更多相关文章

一.Python风格 以一个二元素向量对象为例 import math from array import array class Vector2d: typecode = 'd' def __init__(self, x, y): self.x = float(x) self.y = float(y) def __iter__(self): # 使得Vector2d变成可迭代对象 # __iter__方法的实现使得本类可以被转化为tuple在内的其他可迭代类 return (i for i i…
一.基础知识 “__”前缀:私有属性.方法,在__dict__中存储时被改写为“_类名__”前缀 “_”前缀:是约定俗成的保护属性.方法,不过编译器不会对之采取任何处理 二.class特殊方法介绍 在第9章的双元素基础上,我们扩展为任意元素长度的向量,并探讨了相关方法的使用: __getattr__(self, name): result = obj.name 会调用builtin函数getattr(obj,'name')查找对应属性,如果没有name属性则调用obj.__getattr__('…
由于1~4章内容零散且基础,所以统计一下涉及到的内容,记录一下,方便查阅(第一张图右键新页面打开即可看到清晰大图)…
在python中,所有集合都可以迭代,在python语言内部,迭代器用于支持 for循环 构建和扩展集合类型 逐行遍历文本文件 列表推导,字典推导和集合推导 元组拆包 调用函数时,使用*拆包实参 本章涵盖的话题 语言内部使用 iter(...) 内置函数处理可迭代对象的方式如何使用 Python 实现经典的迭代器模式详细说明生成器函数的工作原理如何使用生成器函数或生成器表达式代替经典的迭代器如何使用标准库中通用的生成器函数如何使用 yield from 语句合并生成器案例分析:在一个数据库转换工…
Function Decorators and Closures 装饰器是用于增强函数的行为,理解它,就必须先理解闭包. Python3引入关键字nonlocal,如果要理解闭包,就必须了解它的所有方面,包括nonlocal的使用. 闭包在装饰器中有用,另一个用处是回调方式的异步编程和函数方式编程的风格的基础. 首先是decorator的基本知识. 如何计算decorator syntax 判断变量是否是local closure的存在和工作原理 nonlocal能解决什么? 通州 decora…