摘要: 和其他高级语言不同,python中的异常可以用在以下场合:错误处理,终止动作和事件通知和异常相关的语句有四种:tryexcept:try语句中出现异常时候调用finally:不论try语句有无异常皆调用raise:用户手动触发异常assert:相当于一个有条件的raise能够处理任何异常的情况:空的except是一种通用功能,包括系统退出相关的异常。替代方案:捕获一个名为Exception的异常,可以捕获除了系统退出外的几乎所有异常。except IndexError和except IndexError()两种方法是一样的,第一种方法隐式调用异常类无参数的构造函数来创建异常实例。 阅读全文
posted @ 2013-09-24 22:34 bobo的学习笔记 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 从这里再次体现了python语言强大的灵活性。某些在高级语言中看似不严谨需要尽量避免的地方在python中都是允许的。比如: (1),异常可以用来处理错误(2),方法,类也都可以视为对象。(3),没有任何的类型声明可见,python中一切皆为对象,包括类,而类在C++,java中仅仅是编译器的输入而已。1,函数重载python因为没有类型声明,因此函数重载不能通过参数类型标记来实现。python中的多台是基于对象接口的,而不是类型。2,伪私有python的伪私有属性:所谓伪私有,是指这么做仅仅避免了实例内的命名空间冲突,而不是限制变量名的读取具体做法是,class语句内部有两个下划线,但是结尾 阅读全文
posted @ 2013-09-24 21:19 bobo的学习笔记 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 通过__开始的属性感觉分为两种类型:利用dir调用的时候::这种貌似和运算符重载有关系,用户如果需要的话可以重写该函数:这种应该是内部的实现机制,可以直接调用。1,__name__环境属性,不需要调用者,如果是在顶层文件,那么显示__main__,如果是模块文件,显示当前类名2,__class__如果是类调用,显示type;如果是实例调用,显示实例对应的类名3,__bases__类来调用,显示超类名4,__init__构造函数5,__getitem__索引、分片时候调用此方法,成员关系测试in,列表解析,内置函数map,列表和元组赋值运算以及类型构造方法也会调用__getitem__(如果定义 阅读全文
posted @ 2013-09-24 17:29 bobo的学习笔记 阅读(667) 评论(0) 推荐(0) 编辑