摘要:
环境管理器 类内有__enter__ 和 __exit__实例方法的类被称为环境管理器 能够用with进行管理的对象必须是环境管理器 说明: __enter__将在进入with语句时被调用并返回由as变量绑定的对象 __exit__将在离开with语句时被调用,且可以用参数来判断在离开with语句时 阅读全文
2018年8月29日
摘要:
with 语句 语法: with 表达式1 [as 变量1], 表达式2 [as 变量2], ...: 语句块 作用: 使用于对资源进行访问的场合,确保使用过程中不管是否发生异常都会执行必要的'清理操作',并释放资源 (如:文件使用后自动关闭,线程中锁的自动获取和释放等) 说明: 执行表达式 as子 阅读全文
2018年8月28日
摘要:
其它内建函数的重写方法: __abs__ abs(obj) 函数 __len__ len(obj) 函数(必须返回整数) __reversed__ reversed(obj) 函数(必须返回可迭代对象 __round__ round(obj) 函数 阅读全文
摘要:
布尔测试函数重写 格式: __bool__ 作用: 用于bool(obj) 函数取值 用于if语句的真值表达式中 用于while 语句的真值表达式中 说明: 1. 当自定义的类内有 __bool__(self) 方法时,以此方法的返回值作为bool(obj) 的返回值 2. 当不存在__bool__ 阅读全文
摘要:
函数重写 在自定义类内添加相应的方法,让自定义类创建的实例能像内建对象一样进行内建函数操作 对象转字符串函数: repr(obj) 返回一个能代表此对象的表达式字符串,通常 eval(repr(obj)) == obj (这个字符串通常是给python解释执行器运行用的) str(obj) 通过给定 阅读全文
摘要:
对象的属性管理函数: getattr(obj, name[,default]) 从一个对象得到对象的属性;getattr(x,'y') 等同于x.y,当属性不存在时,如果给出default参数则返回defualt, 如果没有给出default,则产生一个AttributeError错误 hasatt 阅读全文
摘要:
什么是迭代器 有iter()函数返回,可以通过next(it)函数取值的对象就是迭代器 迭代器协议 迭代器协议是指对象能够使用next函数获取下一项数据,在没有下一项数据时触发一个StopIteration异常来终止迭代的约定 迭代器协议实现方法: __next__(self) 方法来实现迭代器协议 阅读全文
摘要:
多继承 multiple inheritance 多继承是指一个子类继承自两个或两个以上的基类语法: class 类名(基类名1, 基类名2, ...): ...说明: 1. 一个子类同时继承自多个父类,父类中的方法可以同时被继承下来 2. 如果两个父类中有同名的方法,而在子类中又没有覆盖此方法时, 阅读全文
摘要:
多态 polymorphic 什么是多态: 字面意思: 多种状态 多态是指在有继承/派生关系的类中,调用基类对象的方法,实际能调用子类的覆盖方法的现象叫多态 状态: 静态(编译时状态) 动态(运行时状态) 说明: 多态调用方法与对象相关,不与类相关 Python的全部对象都只有"运行时状态(动态)" 阅读全文