第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#完全不同。
8.1 定义类
类定义由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.