第8章 使用类定义新类型

在Python中,若想使用内置的标量和集合类型,我们还有很长的路要走。对于许多问题,内置的类型以及Python标准库提供的内容是完全足够的。但有时候,它们并不能完全满足需求,此时就可以使用类来创建自定义类型。

正如我们所看到的,Python中的所有对象都有一个类型,而当使用type()内置函数来查看对象的类型时,输出的结果会显示对象的类型:

>>> type(5)
<class 'int'>
>>> type("python")
<class 'str'>
>>> type([1, 2, 3])
<class 'list'>
>>> type(x*x for x in [2, 4, 6])
<class 'generator'>

类用于定义一个或多个对象的结构和行为,每个对象被称为类的一个实例(instance)。总体来说,Python中的对象从创建或实例化直到被销毁,这段时间内对象都有固定的类型。将一个类看作一种用于构建新对象的模板或模式,这样想有助于理解类。对象的类可控制对象的初始化,并定义该对象具有哪些属性(attribute)和方法(method)。例如字符串对象,我们可以在该对象上使用定义在str类中的split()方法。

在Python中,类是面向对象编程(Object-Oriented Programming,OOP)的一个重要机制,虽然OOP有助于使复杂问题更易于处理,但它常常使得解决简单问题有些复杂。Python有一个很棒的优点,它高度支持面向对象,但是Python也不强制用户使用类,除非你真的需要它们。这使得Python与Java和C#完全不同。

类定义由class关键字引入,后跟类名。按照惯例,Python中的新类名称使用驼峰命名法(camel ...

Get Python实用技能学习指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.