python类和对象理解,谈一谈你对Python的认识

  python类和对象理解,谈一谈你对Python的认识

  类型与对象

  一分基础理论3360

  对象代表现实世界中的汽车、狗和自行车等事物。对象有两个主要特征:数据和行为。

  在面向对象编程中,我们把数据看作属性,把行为看作方法。即:

  数据属性和行为方法

  类型是创建单个对象实例的蓝图。在现实世界中,我们经常会发现很多对象实例都有相同的类型,比如汽车。它们都有相同的结构和型号(发动机、车轮、车门等)。).每辆车都是根据相同的设计图纸制造的,有相同的部件。

  Python作为一种面向对象的编程语言,有类和对象的概念。

  

  是类蓝图,对象是模型。

  类似地,一个类,它只是一个模型,或者一个定义属性和行为的方法(正如我们在理论部分讨论的)。例如,一个车辆类有自己的属性来定义什么是车辆。车轮数量、能源类型、座位容量和速度都是车辆的属性。

  记住这一点,让我们看看该类的Python语法:

  车辆:类

  Pass用类声明定义了一个类,仅此而已。很简单吧?

  对象是一个类的实例。我们通过命名类来创建一个实例。

  汽车=车辆()

  打印(汽车)# _ _ main _ _。vehicle instance at0x 7 FB 1 de 6 c 2638这里的“car”是“vehicle”类的对象(或实例)。

  请记住,我们的“车辆”类有四个属性:车轮数量、能源类型、座位容量和速度。当我们创建一个“车辆”对象时,我们设置所有这些属性。因此,在这里,我们定义当我们的类被初始化时,我们希望何时接收数据:

  车辆:类

  def__init__(自身,车轮数量,坦克类型,座位容量,最大速度):

  self .车轮数量=车轮数量

  油箱类型=油箱类型

  self . seating _ capacity=seating _ capacity

  self . maximum _ velocity=maximum _ velocity我们使用了“初始化”方法。我们称之为构造法。因此,您可以在创建“车辆”对象时定义这些属性。假设我们喜欢特斯拉Model S,我们想创造这种物体。它有四个轮子,使用电能,有五个座位,速度为250公里/小时(155英里/小时)。

  Tesla _ model _ s=vehicle (4,电动,5,250) 4“车轮”电能“能量”5“座椅”250km/h“速度”。

  所有属性都已设置。但是我们如何获得这些属性值呢?我们向对象发送消息来询问它们。我们称之为方法。是对象的行为。让我们实现它:

  车辆:类

  def__init__(自身,车轮数量,坦克类型,座位容量,最大速度):

  self .车轮数量=数量

  ber_of_wheels

  self.type_of_tank=type_of_tank

  self.seating_capacity=seating_capacity

  self.maximum_velocity=maximum_velocity

  defnumber_of_wheels(self):

  returnself.number_of_wheels

  defset_number_of_wheels(self,number):

  self.number_of_wheels=number这里创建了两个方法:number_of_wheels和set_number_of_wheels. 我们称它为获取&设置. 因为第一个获取了属性值,然后第二个设置了一个新的属性值。

  Python 中,我们可以用 “@property” (“decorator”) 去定义 "getters" 和 “setters”。请看以下代码:

  

classVehicle:

  def__init__(self,number_of_wheels,type_of_tank,seating_capacity,maximum_velocity):

  self.number_of_wheels=number_of_wheels

  self.type_of_tank=type_of_tank

  self.seating_capacity=seating_capacity

  self.maximum_velocity=maximum_velocity

  @property

  defnumber_of_wheels(self):

  returnself.number_of_wheels

  @number_of_wheels.setter

  defnumber_of_wheels(self,number):

  self.number_of_wheels=number

同时,我们可以使用这些方法作为属性:

  

tesla_model_s=Vehicle(4,'electric',5,250)

  print(tesla_model_s.number_of_wheels)#4

  tesla_model_s.number_of_wheels=2#settingnumberofwheelsto2

  print(tesla_model_s.number_of_wheels)#2

这个与定义方法有些许不同。这些方法的工作机制与属性不同。例如,当我们设置轮子数量时,我们需要把 2 赋值给一个变量,只需要设置 “number_of_wheels” 的值为 2。这是一种写 “pythonic”、 ”getter“、“setter” 代码的方法。

  而且同时我们也可以使用其他方法,比如 “make_noise” 方法。请看下面的例子。

  

classVehicle:

  def__init__(self,number_of_wheels,type_of_tank,seating_capacity,maximum_velocity):

  self.number_of_wheels=number_of_wheels

  self.type_of_tank=type_of_tank

  self.seating_capacity=seating_capacity

  self.maximum_velocity=maximum_velocity

  defmake_noise(self):

  print('VRUUUUUUUM')

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: