2019年11月21日

描述器 descriptors

摘要: 描述器的表现 用到3个魔术方法:__get__(),__set__(),__delete__(),用到这三个方法其一的类就是描述器。 方法签名如下: object.__get__(self,instance,owner),self是实例本身,instance是owner的实例。 object.__s 阅读全文

posted @ 2019-11-21 23:35 xpc199151 阅读(253) 评论(0) 推荐(0) 编辑

Python魔术方法——反射

摘要: init返回值一般不写return,要写只能写return,或者是return None。 概述 运行时,区别于编译时,指的是程序被加载到内存中执行的时候。 反射,reflection,指的是运行时获取类型定义信息。 一个对象能够在运行时,像照镜子一样,反射出其类型信息。 简单说,在Python中, 阅读全文

posted @ 2019-11-21 21:00 xpc199151 阅读(145) 评论(0) 推荐(0) 编辑

Python魔术方法

摘要: 特殊属性 __name__:类,函数,方法等的名字。(实例没有) __module__:类定义所在的模块名(test1.py,test2.py就是两个不同的module) __class__:对象或类所属的类 class A: pass a = A() print(A.__name__) print 阅读全文

posted @ 2019-11-21 20:30 xpc199151 阅读(252) 评论(0) 推荐(0) 编辑

python 魔术方法上下文管理(__enter__,__exit__)

摘要: 上下文管理 文件IO操作可以对文件对象使用上下文管理,使用with……as语法。 with open("test") as f: pass 仿照上例写一个自己的类,实现上下文管理。 class Point: pass with Point() as p: pass 结果为: AttributeErr 阅读全文

posted @ 2019-11-21 20:27 xpc199151 阅读(890) 评论(1) 推荐(1) 编辑

python 异常处理

摘要: 异常Exception 错误,error 逻辑错误:算法写错了,加法写成了减法。 笔误:变量名写错了,语法错误。 函数或者类使用错误,其实这也是属于逻辑错误。 总之,错误是可避免的。却不能完全避免。 异常(exception) 本意就是意外情况 这有个前提,没有出现上面的错误,也就是说程序写的没有问 阅读全文

posted @ 2019-11-21 17:05 xpc199151 阅读(429) 评论(0) 推荐(0) 编辑

导航