上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 40 下一页
摘要: 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误码非常常见。比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果... 阅读全文
posted @ 2014-09-28 08:06 wuhn 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 在程序运行过程中,总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。还有一类错误是完... 阅读全文
posted @ 2014-09-28 07:58 wuhn 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。__slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我... 阅读全文
posted @ 2014-09-28 03:11 wuhn 阅读(810) 评论(0) 推荐(1) 编辑
摘要: 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。回忆一下Animal类层次的设计,假设我们要实现以下4种动物:Dog - 狗狗;Bat - 蝙蝠;Parrot - 鹦鹉;Ostrich - 鸵鸟。如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次:但是如果按照“能跑... 阅读全文
posted @ 2014-09-28 03:02 wuhn 阅读(1583) 评论(1) 推荐(0) 编辑
摘要: 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,... 阅读全文
posted @ 2014-09-28 02:59 wuhn 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>>... 阅读全文
posted @ 2014-09-28 02:55 wuhn 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 数据封装、继承和多态只是面向对象程序设计中最基础的3个概念。在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能。我们会讨论多重继承、定制类、元类等概念。 阅读全文
posted @ 2014-09-28 02:53 wuhn 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:>>> type(123)>>> type('str')>>> type(None)如果一个变量指向函数或者类,也可以用type()... 阅读全文
posted @ 2014-09-28 02:52 wuhn 阅读(15318) 评论(1) 推荐(1) 编辑
摘要: 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接... 阅读全文
posted @ 2014-09-28 02:48 wuhn 阅读(8897) 评论(4) 推荐(3) 编辑
摘要: 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 98)>>... 阅读全文
posted @ 2014-09-28 02:45 wuhn 阅读(963) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 40 下一页