“.”
“.”之后的命名为 属性 --例如,表达式 z.real 中的 real 是对象 z 的一个属性。
类定义形式:
class ClassName:
<statement-1>
.
.
.
<statement-N>类的实例化
x = MyClass() 创建了一个新的类实例并将该对象赋给局部变量 x 。
方法
x.f()是一个方法对象,它可以存储起来以后调用。调用 x.f() 相当于 MyClass.f(x) 。
避免冲突的命名约定
可选的约定包括方法的首字母大写,数据属性名前缀小写(可能只是一个下划线),或者方法使用动词而数据属性使用名词,通常方法的第一个参数命名为 self 。
派生类的定义
class DerivedClassName(BaseClassName):
<statement-1>
.
.
.
<statement-N>
isinstance() 函数
用于检查实例类型: isinstance(obj, int) 只有在 obj.__class__ 是 int 或其它从 int 继承的类型 。
issubclass()函数
用于检查类继承: issubclass(bool, int) 为 True ,因为 bool 是 int 的子类。但是, issubclass(unicode, str) 是 False ,因为 unicode 不是 str 的子类(它们只是共享一个通用祖先类 basestring )。
多继承的类定义
class DerivedClassName(Base1, Base2, Base3):
<statement-1>
.
.
.
<statement-N>
对于旧式的类,唯一的规则顺序是深度优先,从左到右。因此,如果在 DerivedClassName (示例中的派生类)中没有找到某个属性,就会搜索 Base1 ,然后(递归的)搜索其基类,如果最终没有找到,就搜索 Base2 ,以此类推。
os.getcwd()
返回当前工作目录。
os.chdir()
改变当前工作目录。
glob 模块
提供了一个函数用于从目录通配符搜索中生成文件列表。
>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']
math 模块
为浮点运算提供了对底层C函数库的访问。
random
提供了生成随机数的工具。
用于访问互联网以及处理网络通信协议的模块
其中最简单的两个是用于处理从urls接收的数据的 urllib2 以及用于发送电子邮件的 smtplib 。
datetime 模块
为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。该模块还支持时区处理。
数据压缩模块
以下模块直接支持通用的数据打包和压缩格式: zlib, gzip, bz2, zipfile 以及 tarfile。
doctest 模块
提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试。测试构造如同简单的将它的输出结果剪切并粘贴到文档字符串中。
unittest 模块
不像 doctest 模块那么容易使用,不过它可以在一个独立的文件里提供一个更全面的测试集。
xmlrpclib 和 SimpleXMLRPCServer 模块
实现了在琐碎的任务中调用远程过程。尽管有这样的名字,但用户不需要直接处理 XML ,也不需要这方面的知识。
email 包
它是一个邮件消息管理库,可以处理 MIME 或其它基于 RFC 2822 的消息文档。不同于实际发送和接收消息的 smtplib 和 poplib 模块,email 包有一个用于构建或解析复杂消息结构(包括附件)以及实现互联网编码和头协议的完整工具集。
xml.dom 和 xml.sax 包
为流行的信息交换格式提供了强大的支持。同样, csv 模块支持在通用数据库格式中直接读写。综合起来,这些模块和包大大简化了 Python 应用程序和其它工具之间的数据交换。