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)这个与定义方法有些许不同。这些方法的工作机制与属性不同。例如,当我们设置轮子数量时,我们需要把 2 赋值给一个变量,只需要设置 “number_of_wheels” 的值为 2。这是一种写 “pythonic”、 ”getter“、“setter” 代码的方法。print(tesla_model_s.number_of_wheels)#4
tesla_model_s.number_of_wheels=2#settingnumberofwheelsto2
print(tesla_model_s.number_of_wheels)#2
而且同时我们也可以使用其他方法,比如 “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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。