摘要: python3,所有的类型都是新式类,对象有类创建,类则是有元类创建 未指定就是默认使用type 创建一个类,就是使用type()进行实例化 利用type创建一个类 名称为Pople type(类名,元组,字典) 类名:必须是字符串类型 元组:表示继承关系 字典:属性 python 一切都是对象,因 阅读全文
posted @ 2017-05-02 17:03 Great_kyle 阅读(166) 评论(0) 推荐(0) 编辑
摘要: __call__ 任何对象后面加(),触发执行。 执行结果 阅读全文
posted @ 2017-05-02 17:02 Great_kyle 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 上下文管理协议 with as 语句 定义: 上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__enter__和__exit__方法 __enter__(self) __exit__(self, exc_type, exc_val, exc_tb) __en 阅读全文
posted @ 2017-05-02 16:59 Great_kyle 阅读(1388) 评论(0) 推荐(2) 编辑
摘要: 析构方法 此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。 示例代码 阅读全文
posted @ 2017-05-02 16:58 Great_kyle 阅读(2533) 评论(0) 推荐(0) 编辑
摘要: python中,对象中实现了__iter__方法就是可迭代对象 实现了__next__方法就是迭代器 代码示例 执行结果 实现一个斐波那契数列 代码: 执行结果 模拟range函数 执行结果 阅读全文
posted @ 2017-05-02 16:56 Great_kyle 阅读(144) 评论(0) 推荐(0) 编辑
摘要: __slots__:是一个类变量,变量值可以是 列表 , 元祖 ,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 使用了__slots__之后,实例化的对象,就没有__dict__,即没有自己的名称空间 这就说明,对象将无法添加__slots__定义以外的新属性。 __slot 阅读全文
posted @ 2017-05-02 16:55 Great_kyle 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 两种方式: 继承的方式和授权的方式 __继承的方式:__ 即:重新写父类的方法 实例化 执行结果 __授权方式__: open函数无法继承,只能通过getter方法实现 阅读全文
posted @ 2017-04-24 19:34 Great_kyle 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Attr包含三个函数 __getattr__, __setattr__, __delattr__ setattr: 添加/修改属性会触发它的执行 delattr: 删除属性的时候会触发 getattr: 只有在使用点属性且属性不存在的时候才会触发 执行结果 阅读全文
posted @ 2017-04-24 19:06 Great_kyle 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一、反射使用 python是面向对象语言,其中反射的含义为:通过字符串的形式操作对相关的属性。 python内置四个自省的方法: 1、hasattr(object,name) 2、getattr(object,name,default=None) 3、setattr(object,key,value 阅读全文
posted @ 2017-04-24 18:38 Great_kyle 阅读(423) 评论(0) 推荐(0) 编辑
摘要: isinstance(obj,cls)检查是否是类cls的对象 issubclass(sub,super)检查sub是否是super类派生类 这两个方法可以作为判断使用 阅读全文
posted @ 2017-04-24 16:37 Great_kyle 阅读(134) 评论(0) 推荐(0) 编辑