在面向对象语言中,类是一段可扩展的代码,表示用于创建和使用该类对象的模板。类的对象只是引用所定义类的实例。
在Python编程语言中,每个数据段都表示为某个类的实例。如果您不熟悉该语言,请在继续之前参阅我们的Python初学者指南。
类以成员函数(也称为方法)的形式提供了一组行为,这些行为具有该类的所有实例所共有的实现,并且它还确定了其实例的状态信息以属性的形式表示的方式。
阅读更多:Python中的类方法:重要区别
下面的代码表示Python中定义的类的示例。代码中定义的类提供了RaceCar类的实现。
该类的每个实例都为不同品牌的汽车提供了一个简单的模型,并包含以下状态信息:汽车名称、驾驶员姓名、汽车车牌号、当前速度、超速收费和颜色。
这一级别的汽车在每辆车内都有一个特殊的传感器,如果司机超过法定时速140英里,将被处以50美元的罚款。
首先,请注意类中声明的方法签名与程序员用来调用函数的方法签名之间存在差异。例如,类中定义的get\u colour方法接受一个参数,即“self”参数。
但是,当程序员在类的实例上调用此方法时,他不提供任何参数。同样的现象可以在speeding\u ticket方法中观察到,该方法被定义为在类中获取两个参数(即self和current\u speed),但是程序员可以通过仅提供'current\u speed'参数的值来执行该方法。
这是因为提供的“self”参数的目的是将方法绑定到调用它的对象实例,而不是程序员给定的值。
类的构造函数指的是类的方法,用户可以调用该方法来创建该类的对象实例。在Car类中,用户可以使用以下语法创建对象实例:
#creating our very own Bugatti :)Car(“Bugatti”, “David Sasu”, 90828, 0, 0, "Cherry Red")执行这段代码会导致调用Car类中的\uuu init \uuuuu方法。此方法的职责是使用提供的实例值生成新创建的credit car对象。Car类的每个对象由六个实例变量组成,它们是:
这些方法是为访问对象实例的状态信息而编写的。在Car类中,编写的访问器方法有:
这些方法是用来改变对象实例的状态信息的。在Car类中,编写的mutator方法是:
“封装”是一个术语,用于描述面向对象设计的原则,其中程序的组件不应揭示其各自实现的内部细节。为了增加您对封装概念的理解,请参阅我们关于封装的文章。
我们对Car类的实现并不健壮,因为它可能会崩溃或发生故障,这取决于它从程序员那里接收到的输入。
首先,注意,我们没有检查超速\u票据和make_u支付方法的参数类型,也没有检查构造函数的任何参数的类型。如果用户提供了不需要的参数,则可能导致程序崩溃。例如,如果用户调用了诸如超速的\u票据(“chips ahoy”),程序将崩溃,因为方法所期望的类型是整数而不是字符串。
本文介绍了Python类和Python类对象的概念。还向您介绍了构建python类的思想,例如:封装、“self”标识符、访问器方法和mutator方法。
有了这些信息,您应该能够自己创建一个简单的Python类并对其进行测试:)
... 下面是如何表示对象数组。在这种表示法中,数组的每一项都是一个对象。以下是棒球运动员的工资样本。 ...
有没有想过如何在两种编程语言之间发送数据?是否尝试发送一个对象或多个数据段? ...
...您是一名经验丰富的Python开发人员,还是刚刚起步,学习如何设置虚拟环境对于任何Python项目都是必不可少的。和我一起讨论Python虚拟环境的所有知识。 ...
... 让我们看看如何在计算机中创建Instapaper或Pocket的克隆,而不会丢失任何网页资源。 ...
...域。但是,如果您想处理任何大型项目,您需要知道Python如何与面向对象编程(OOP)结合使用。本文将介绍您需要了解的基本知识。 ...
需要打印到Python文件吗?今天,我们将了解如何轻松地开始写入文件。我们将介绍创建新文件、附加现有文件和覆盖现有文件。 ...