![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Professional Python
天地一扁舟
这个作者很懒,什么都没留下…
展开
-
Python高级编程 读书笔记: 10、第五章_使用元类
#!/usr/bin/env python # encoding: utf-8 import six ''' 10、第五章_使用元类 1 使用元类 python3中: class MyClass(metaclass=Meta) pass python2中: class MyClass(object): __metaclass__ = Meta 兼容方法: @six.add_...原创 2019-04-11 09:11:15 · 167 阅读 · 0 评论 -
Python高级编程 读书笔记: 11、第六章_类工厂
#!/usr/bin/env python # encoding: utf-8 import six ''' 11、第六章_类工厂 关键: 1 类工厂 含义: 在运行时创建类(注意不是类的实例)的函数,允许创建类时根据情况决定其属性 特点: 1)类本身也是一个对象,它的类是type 2)使用class关键字而不是直接调用type创建类更加可行 2 决定何时应该编写类工厂 原因: 需要基于...原创 2019-04-14 18:34:54 · 104 阅读 · 0 评论 -
Python高级编程 读书笔记: 9、 第5章_元类
# -*- encoding: utf-8 -*- import functools import time ''' 9、 第5章_元类 关键: 1 元类 Python中的类也时对象。几乎所有都是对象。 作为对象的类本身也是另一种类的实例,用于创建类。 元类: 用于生成其他类的类就是元类。 2 类与对象 定义类时,仅仅是使用一个特殊的替代语法来代替不同类的实例化, 即实例化type类。...原创 2019-04-10 09:02:01 · 118 阅读 · 0 评论 -
Python高级编程 读书笔记: 8、 第4章_魔术方法
# -*- encoding: utf-8 -*- import functools import time ''' 8、 第4章_魔术方法 关键: 1 魔术方法 含义:用于重载操作符或者内置方法 定义:可以通过__语法定义 语法: 将下划线放到方法名称的两端 钩子: 在特定事件发生时,能够为响应事件而调用的代码,回调函数就是钩子的一种类型 2 可用的魔术方法 2.1 __init__方...原创 2019-04-09 16:57:17 · 196 阅读 · 0 评论 -
Python高级编程 读书笔记: 7、 第3章_迭代对象与迭代器
# -*- encoding: utf-8 -*- import itertools ''' 7、 第3章_迭代对象与迭代器 关键: 1 迭代器 生成器含义: 是一个函数,按照顺序返回值,执行直到被通知输出一个值,然后继续执行直到再次被通知输出值 迭代器含义:包含__next__方法的任何对象 可迭代对象含义: 任何定义了__iter__方法的对象。__iter__返回迭代器(实现了__n...原创 2019-04-09 16:29:10 · 171 阅读 · 0 评论 -
Python高级编程 读书笔记: 6、 第3章_生成器之间的交互
# -*- encoding: utf-8 -*- import functools import time ''' 6、 第3章_生成器之间的交互 关键: 1 生成器的交互 生成器协议: 提供了send方法,该方法允许生成器的反向沟通。 如果使用send方法而不是next重启生成器,那么提供给send方法的值实际上能被赋予给yield表达式的结果 原理: 生成器...原创 2019-04-09 15:54:13 · 121 阅读 · 0 评论 -
Python高级编程 读书笔记: 5、 第3章_生成器
# -*- encoding: utf-8 -*- import time ''' 5、 第3章_生成器 关键: 1 生成器 本质: 是一个函数,按照顺序返回值,执行直到被通知输出一个值,然后继续执行直到再次被通知输出值 特点: 允许输入序列中的每个值在需要时才计算 作用: 节省内存 特征: 函数内部有yield语句, yield语句不会终止函数的执行,执行会暂时停止直到调用代码重新恢复生...原创 2019-04-09 12:20:25 · 120 阅读 · 0 评论 -
Python高级编程 读书笔记: 4、 第2章_上下文管理器
# -*- encoding: utf-8 -*- import contextlib import subprocess import psycopg2 ''' 4、 第2章_上下文管理器 关键: 1 上下文管理器 含义: 包装任意代码块的对象 作用: 确保资源被正确清理,类似try,except;避免重复 用法: with, enter, exit 2 with语句 作用: 可以进...原创 2019-04-09 11:11:50 · 141 阅读 · 0 评论 -
Python高级编程 读书笔记: 3、 第1章_装饰器类型转换
# -*- encoding: utf-8 -*- import functools import time ''' 3、 第1章_装饰器类型转换 关键: 1 装饰器的类型转换 装饰器除了: 装饰函数返回函数,装饰类返回类,还可以装饰函数返回类 实现方法: 先定义基类,然后基类的__call__方法调用某个方法(例如run方法), 在装饰器中,定义该基类的子类,并实现父类的方法(例如run...原创 2019-04-09 09:26:17 · 192 阅读 · 0 评论 -
Python高级编程 读书笔记: 2、 第1章_装饰类
# -*- encoding: utf-8 -*- import functools import time ''' 2、 第1章_装饰类 关键: 1 类装饰器 本质: 装饰类并返回类 作用: 可以与被装饰类的属性交互,可添加属性或将属性参数化 用法: 传入类作为参数,修改类的方法或成员变量,返回处理后的类 样例: def sortByTime(cls): oldInit = cl...原创 2019-04-09 09:08:09 · 97 阅读 · 0 评论 -
Python高级编程 读书笔记: 1、 第1章_装饰器
# -*- encoding: utf-8 -*- import functools import json ''' 1、 第1章_装饰器 关键: 1 装饰器 本质: 是一个函数,该函数接受被装饰的函数作为其输入参数,返回修饰后的函数 顺序: 多个装饰器按照自底向上的顺序来应用它们 应用场景: 1) 附加功能: 例如检查身份 2) 数据清理或添加: 例如mock.patch为函数提供了作为...原创 2019-04-09 08:50:30 · 122 阅读 · 0 评论 -
Python高级编程 读书笔记: 12、第七章_抽象基类
#!/usr/bin/env python # encoding: utf-8 import six ''' 12、第七章_抽象基类 关键: 1 使用抽象基类 本质:要求子类实现指定协议 abc模块:表示抽象基类的模块 ABCMeta: 元类,抽象基类需要使用ABCMeta元类 2 __subclasshook__ 特点: 必须被定义为一个类方法(使用@classmethod装饰器定义)...原创 2019-04-14 19:11:18 · 108 阅读 · 0 评论