摘要: 通过另外一个类来描叙类变量的属性类型,这个是ORM实现的核心基础 给属性赋值会调用 __set__方法,访问属性则会调用 __get__方法,则可以获取字段的对象和其值,删除字段时候则调用 __delete__方法 北门吹雪: https://www.cnblogs.com/2bjiujiu/ 阅读全文
posted @ 2018-06-05 23:30 梦_鱼 阅读(160) 评论(0) 推荐(0) 编辑
摘要: __getattr__ 查找不到类属性的时候调用 __getattribute__ 无条件进入,无论是查找属性是否存在,能不重写则不去重写 阅读全文
posted @ 2018-06-05 23:01 梦_鱼 阅读(172) 评论(0) 推荐(0) 编辑
摘要: __init__ 和 __new__区别 1. 从传递参数角度看,__init__第一个参数是实例本身, __new__传递的是类本身 2. 从执行顺序角度看,__new__方法执行在 __init__方法之前 3. 从功能角度看, __new__是控制对象实例过程,在对象生成之前就执行完毕, __ 阅读全文
posted @ 2018-06-05 22:49 梦_鱼 阅读(392) 评论(0) 推荐(0) 编辑
摘要: in 判断元素是否在序列中, 可以查看 in == is 区别 __contians__ 如果是对象则调用对象中的 __contains__方法 阅读全文
posted @ 2018-06-05 21:43 梦_鱼 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: len() 求序列的长度 __len__ 对象中实现这个方法,则 len() 方法调用对象中 __len__方法 阅读全文
posted @ 2018-06-05 21:36 梦_鱼 阅读(1796) 评论(0) 推荐(0) 编辑
摘要: reversed 将序列反转,依次把最后的元素放到第一个位置,把第一元素放到最后一个位置,变成生成器对象 __reversed__ 对象中只要实现这个方法, reversed会调用对象中这个方法,从而实现对象中序列反转 经验: 1. reversed把序列反转,最后生成生成器对象 2. 自定义对象中 阅读全文
posted @ 2018-06-05 21:23 梦_鱼 阅读(745) 评论(0) 推荐(0) 编辑
摘要: 切片原理图(顾头不顾尾的正则原理) # [0:1] 其实只取到C, 取e则 [-1:], 如果步长为负数则倒过来取,从第几个往回取 对于可变数据类型,则可以通过切片实现数据添加修改, 如添加数据、替换数据、删除元素 切片协议 __getitem__ 类中实现这个方法,那么这个类实例的对象就可以进行切 阅读全文
posted @ 2018-06-05 20:50 梦_鱼 阅读(503) 评论(0) 推荐(1) 编辑
摘要: + 两边都是相同序列类型。拼接成一个新的序列 * 序列类型直接自我复制多少次,* 对象是int类型,支持 + 的序列支持 * 操作 += 就地加,两边都是序列类型,把后者可迭代类型依次添加到前者数据结构中,前提是前者是可变类型,不然两者都是相同类型直接拼接。 append 把内容当作一个整体对象添加 阅读全文
posted @ 2018-06-05 20:13 梦_鱼 阅读(270) 评论(0) 推荐(0) 编辑
摘要: nametuple 是tuple扩展子类,命名元组,其实本质上简单类对象 其实本质上和下面方式一样 相关方法 1. _make 初始化赋值, 必须长度一致 2. _asdict 将nametuple对象转换为字典对象,是个有序字典 defaultdict 是dict的扩展类,访问字典的key如果没有 阅读全文
posted @ 2018-06-05 19:21 梦_鱼 阅读(249) 评论(0) 推荐(0) 编辑
摘要: lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 map 映射函数(依次把可迭代对象(可多个)中的值依次传递到函数中,然后返回生成器(长度以最短的为 阅读全文
posted @ 2018-06-05 17:59 梦_鱼 阅读(439) 评论(3) 推荐(1) 编辑
摘要: # 开闭原则 对扩展开放,对修改关闭 面向对象 组织和构建代码逻辑的一种思路,面向对象是主流的一种编程范式而已,还有面向过程和面向函数编程范式,但在在Python中面向对象最为彻底,一切皆对象 与类相关的概念 类、实例 、类方法、类变量、实例方法、实例变量 类相关的关键字 class @ stari 阅读全文
posted @ 2018-06-05 15:33 梦_鱼 阅读(251) 评论(1) 推荐(1) 编辑
摘要: 枚举其实本质上是一种映射,为了满足对分类的可读性,在数据库中分类的存储一般为数字编号,而直接使用数字编号在代码中可阅读性太差,然后就产生了枚举类型 枚举类没有出现之前,则通过变量、字典和类的方式定义枚举类 1. 变量方式定义枚举 2. 字典方式定义枚举 3. 类方式定义枚举 # 都很好解决了枚举需求 阅读全文
posted @ 2018-06-05 12:03 梦_鱼 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Python中通过pass忽略代理架构错误,用来组织代码架构体系 函数相关关键字: def return * ** lambda 为何需要函数? 1. 功能重用,避免重复代码 2. 组织代码和隐藏细节 3. 可读性 函数整体架构 函数原数据有哪些? 1. 函数名 .__name__ 2. 函数注释 阅读全文
posted @ 2018-06-05 10:08 梦_鱼 阅读(184) 评论(0) 推荐(0) 编辑