如何在python中创建简单类

成功的编程意味着能够创建一个类。下面是关于创建简单Python类的知识。...

在面向对象语言中,类是一段可扩展的代码,表示用于创建和使用该类对象的模板。类的对象只是引用所定义类的实例。

featured-image

python类基础知识

在Python编程语言中,每个数据段都表示为某个类的实例。如果您不熟悉该语言,请在继续之前参阅我们的Python初学者指南。

类以成员函数(也称为方法)的形式提供了一组行为,这些行为具有该类的所有实例所共有的实现,并且它还确定了其实例的状态信息以属性的形式表示的方式。

阅读更多:Python中的类方法:重要区别

下面的代码表示Python中定义的类的示例。代码中定义的类提供了RaceCar类的实现。

该类的每个实例都为不同品牌的汽车提供了一个简单的模型,并包含以下状态信息:汽车名称、驾驶员姓名、汽车车牌号、当前速度、超速收费和颜色。

这一级别的汽车在每辆车内都有一个特殊的传感器,如果司机超过法定时速140英里,将被处以50美元的罚款。

类示例(汽车类)

class Car:#C***tructor#the init method is resp***ible for initialising the values of the instance #variables in the class.def __init__(self, car_name, driver_name, license_plate_number, current_speed, speeding_charge, colour):self.car_name = car_nameself._driver_name = driver_nameself._license_plate_number = license_plate_numberself._current_speed = current_speedself._speeding_charge = speeding_chargeself._colour = colour#Accessor methods#The get_car_name method returns the name of the cardef get_car_name(self):return self._car_name#The get_driver_name method returns the name of the driverdef get_driver_name(self):return self._driver_name#The get_license_plate method returns the license plate of the cardef get_license_plate(self):return self._license_plate#The get_current_speed method returns the current speed at which the car is #movingdef get_current_speed(self):return self._current_speed#The get_speeding_charge method returns the total amount of money that the #driver has to pay for over-speedingdef get_speeding_charge(self):return self._speeding_charge#The get_colour method returns the colour of our sweet ride!def get_colour(self):return self._colour#Mutator methods#The set_driver value changes the driver of our car.def set_driver(self, new_driver):self._driver_name = new_driver#The speeding_ticket method ensures that the driver is charged 50 bucks when#he or she caught speeding above 140 miles per hour :(def speeding_ticket(self, current_speed):if current_speed <= 140:return Falseelse:self._speeding_charge += 50return True#The make_payment method ensures that the driver is able to pay for all the #amount that he or she owes for speeding ticket charges.def make_payment(self, amount_paid):self._speeding_charge -= amount_paid

python类示例的说明

“self”参数

首先,请注意类中声明的方法签名与程序员用来调用函数的方法签名之间存在差异。例如,类中定义的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类对象的概念。还向您介绍了构建python类的思想,例如:封装、“self”标识符、访问器方法和mutator方法。

有了这些信息,您应该能够自己创建一个简单的Python类并对其进行测试:)

  • 发表于 2021-03-26 20:18
  • 阅读 ( 250 )
  • 分类:编程

你可能感兴趣的文章

学习python?下面是如何操作字符串

... 如何在python中创建字符串 ...

  • 发布于 2021-03-11 10:21
  • 阅读 ( 328 )

如何在photoshop中创建水印的7个简单步骤

... 如何在photoshop中创建水印 ...

  • 发布于 2021-03-11 23:32
  • 阅读 ( 238 )

如何在linux上设置emoji键盘

... 你将如何结束你的表情?你会考虑吗? ...

  • 发布于 2021-03-12 00:22
  • 阅读 ( 302 )

json-python解析:简单指南

... 下面是如何表示对象数组。在这种表示法中,数组的每一项都是一个对象。以下是棒球运动员的工资样本。 ...

  • 发布于 2021-03-13 11:20
  • 阅读 ( 281 )

如何让python和javascript使用json进行通信

有没有想过如何在两种编程语言之间发送数据?是否尝试发送一个对象或多个数据段? ...

  • 发布于 2021-03-16 01:22
  • 阅读 ( 293 )

了解如何使用python虚拟环境

...您是一名经验丰富的Python开发人员,还是刚刚起步,学习如何设置虚拟环境对于任何Python项目都是必不可少的。和我一起讨论Python虚拟环境的所有知识。 ...

  • 发布于 2021-03-16 10:00
  • 阅读 ( 233 )

如何创建自己的私有自托管ReadItLater应用程序

... 让我们看看如何在计算机中创建Instapaper或Pocket的克隆,而不会丢失任何网页资源。 ...

  • 发布于 2021-03-19 09:29
  • 阅读 ( 285 )

如何使用click在python中创建自己的命令行程序

... 下面是如何使用它来活跃Python项目。 ...

  • 发布于 2021-03-23 13:56
  • 阅读 ( 267 )

python面向对象编程初学者指南

...域。但是,如果您想处理任何大型项目,您需要知道Python如何与面向对象编程(OOP)结合使用。本文将介绍您需要了解的基本知识。 ...

  • 发布于 2021-03-24 14:43
  • 阅读 ( 210 )

如何在python中写入或打印文件

需要打印到Python文件吗?今天,我们将了解如何轻松地开始写入文件。我们将介绍创建新文件、附加现有文件和覆盖现有文件。 ...

  • 发布于 2021-03-26 13:43
  • 阅读 ( 195 )