摘要: 特殊的方法在类中有一些特殊的方法具有特殊的意义,比如__init__和__del__方法,它们的重要性我们已经学习过了。一般说来,特殊的方法都被用来模仿某个行为。例如,如果你想要为你的类使用x[key]这样的索引操作(就像列表和元组一样),那么你只需要实现__getitem__()方法就可以了。想一下,Python就是对list类这样做的!下面这个表中列出了一些有用的特殊方法。如果你想要知道所有的特殊方法,你可以在《Python参考手册》中找到一个庞大的列表。表15.1 一些特殊的方法名称说明__init__(self,...)这个方法在新建对象恰好要被返回使用之前被调用。__del__(se 阅读全文
posted @ 2011-08-14 23:36 王道中强流 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 引发异常你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。如何引发异常例13.2 如何引发异常#!/usr/bin/python# Filename: raising.pyclass ShortInputException(Exception):'''A user-defined exception class.'''def __init__(self, length, atleast):Exception.__in 阅读全文
posted @ 2011-08-14 23:31 王道中强流 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 在函数中接收元组和列表当要使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用*和**前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。>>> def powersum(power, *args):...'''Return the sum of each argument raised to specified power.'''...total = 0...for i in args:...total += pow(i, power)...return total...>>> power 阅读全文
posted @ 2011-08-14 23:24 王道中强流 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 储存器Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用cPickle模块。记住,我们把这两个模块都简称为pickle模块。储存与取储存例12.2 储存与取储存#!/usr/bin/python# Filename: pickling.pyimport cPickle as p#import pickl 阅读全文
posted @ 2011-08-14 23:22 王道中强流 阅读(422) 评论(0) 推荐(0) 编辑