01 2019 档案
摘要:上下文管理器和with模块 上下文管理器对象存在的目的是管理with语句。with语句的目的是简化try/finally模式。这种模式用于保证一段代码运行完毕后执行某项操作,即便那段代码异常,return语句调用或sys.exit()调用而中止,也会执行操作。finally子句中的代码通常用于释放重
阅读全文
摘要:概述 迭代是数据处理的基石,扫描内存中放不下的数据时,我们需要找到一种惰性获取数据项的方式,即按需一次获取一个数据项。这就是迭代器模式。 在python中,所有集合都可以迭代。在python语言内部,迭代器用于支持: (1)for循环 (2)构建和扩展集合类型 (3)逐行遍历文本文件 (4)列表推导
阅读全文
摘要:接口和协议 Python没有Interface关键字,而且除了抽象基类,每个类都有接口:类实现或继承的公开属性,包括特殊方法(如__getitem__或__add__)。按照约定,受保护的属性和私有属性不在接口中(即使受保护属性也只是采用命名约定实现的;私有属性也可以轻松的访问)不要违背这些约定。
阅读全文
摘要:python对运算符重载的一些限制 1.不能重载内置类型的运算符 2.不能新建运算符,只能重载现有的 3.某些运算符不能重载:is、and、or、not 建立某Vector类 1 from array import array 2 import reprlib 3 import math 4 5 6
阅读全文
摘要:不要子类化内置类型 内置类型(由C语言编写)不会调用用户定义的类覆盖的特殊方法。 例如,子类化dict作为测验: 原生类型这种行为违背了面向对象编程的一个基本原则:始终应该从实例所属的类开始搜索方法,即使在超类实现类的调用也是如此。这种环境中,有个特例,即__miss__方法能按预期工作。 不止实例
阅读全文
摘要:新Vector类 接原vector类定义的新Vector类,原向量类是二维,现定义多维向量类: 协议和鸭子类型 协议: 1.协议是非正式的接口,没有强制力;协议只在文档中定义,在代码中不定义。 2.python有很多协议,如可调用对象协议,哈希协议,序列类协议,容器类协议等等等等。 3.如果知道类的
阅读全文
摘要:对象表示形式 python提供了两种获取对象字符串表示形式的标准方式 repr() //便于开发者理解的方式返回对象的字符串表示形式(一般来说满足obj==eval(repr(obj))) str() //便于用户理解的方式返回对象的字符串表示形式 要使对象能这两种内置函数的参数,需要实现__rep
阅读全文
摘要:变量="标签" 变量a和变量b引用同一个列表: 使用"标签"很形象的解释了变量 > 列表[1, 2, 3]是一个物品,而a和b都是给这个物品贴上的标签。因此,改变a的内容,b的内容也改变了。 "is"和"==" 有一个人叫做李华,1997年生,身体情况工作信息记录为info,有个小名叫"小华"。 可
阅读全文
摘要:什么是装饰器 装饰器是一个可调用的对象,其参数是另一个函数(被装饰的函数)。装饰器可能会: 1,处理被装饰的函数,然后把它返回 2,将其替换成另一个函数或者对象 若有个名为decorate的装饰器,则: 等价于: 上述两种写法结果一样,函数执行完之后得到的target不一定是原来那个target()
阅读全文
摘要:把函数视作对象 在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 说明python 函数是对象:这
阅读全文
摘要:基本概念 字符:表示数据和信息的字母、数字或其他符号。在电子计算机中,每一个字符与一个二进制编码相对应。 字符的标识(码位):是0-1114111的数字,在Unicode标准中以4-6个十六进制数字表示,而且加前缀“U+”。例如,字母A的码位是U+0041,欧元符号的码位是U+20AC. 字符的具体
阅读全文
摘要:构造方法与字典推导式 dict常见方法(collections库中的defaultdict,Orderedict同样有这些方法) 1 dict.clear() //删除字典内所有元素 2 dict.copy() //返回一个字典的浅复制3 dict.fromkeys(seq[, val]) //创建
阅读全文
摘要:python中的re模块常用函数/方法 0.正则表达式对象 (re.compile(pattern, flags=0)) 将正则表达式编译成正则表达式对象,该对象可调用正则表达式对象方法如:re.match(),re.search(),re.findall等。 1.匹配对象及方法 (Match.gr
阅读全文
摘要:正则表达式 正则表达式是由一些字符和特殊符号组成的字符串,他们描述了模式的重复或表述多个字符,于是正则表达式能按照某种模式匹配一系列有相似特征的字符串。也即它们能匹配多个字符串。 常用特殊字符和符号 0.择一匹配 (|) | 从多个模式中选择其一,类似于逻辑或,例如: 1.任意匹配单个字符 (.)
阅读全文
摘要:序列分类 1.按存放的数据类型分类: 容器类型(能存放不同类型的数据):list、tuple、coolections.deque 扁平序列(只能存放一种类型的数据):str、bytes、bytearray、memoryview、array.array 容器类型存放它们所包含的任意类型的对象的引用,而
阅读全文

浙公网安备 33010602011771号