当前位置: 首页 > 图灵资讯 > 行业资讯> 学习Python类型和对象,看这篇文章足矣!

学习Python类型和对象,看这篇文章足矣!

发布时间:2025-09-28 11:06:54

类型与对象

一点基础理论:

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

在面向对象的编程中,我们将数据视为属性,行为视为方法。即:

数据 → 属性 和 行为 → 方法

类型是创建单个对象实例的蓝图。在现实世界中,我们经常发现许多对象实例都有相同的类型,比如汽车。它们都有相同的结构和模型(发动机、轮子、门等)。每辆车都是根据相同的设计图纸制作的,并且有相同的组成部分。

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

类是蓝图,对象是模型。

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

考虑到这一点,让我们来看看类别 Python 语法:

classVehicle:
pass

我们用类声明来定义类 ,仅此而已。很简单,不是吗?

对象是一个类的例子,我们用命名类来创建一个例子。

car=Vehicle()
print(car)#<__main__.vehicleinstanceat0x7fb1de6c268>

这里 ‘car’ 是 ‘Vehicle’ 类的一个对象(或实例)。

记住,我们的 ‘Vehicle’ 轮子数量、能量类型、座位容量和速度有四个属性。我们创建了一个。 ‘Vehicle’ 将所有属性设置为对象 。因此,当我们定义我们的类初始化时,我们需要接收数据:

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

我们使用了 ‘init方法。我们称之为结构方法。所以创建 ‘vehicle’ 这些属性可以在对象中定义。假设我们喜欢 Tesla Model S,我们必须创建这样的对象。它有 4 使用电能的车轮 5 每个座位,时速 250km/h (155mph)

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

4 个 “轮子”+ 电能 “能源”+5 个 “座位”+250公里/h “速度”。

所有属性都设置好了。但是我们如何获得这些属性值呢?我们给对象发短信问他们。 我们称之为方法。方法是对象的行为。让我们实现它:

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

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#settingnumberofelsto2
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')

相关文章

Python的高级特性:容易忽略的不可变类型

Python的高级特性:容易忽略的不可变类型

2025-09-28
一篇文章教你如何使用Python生成器

一篇文章教你如何使用Python生成器

2025-09-28
小白必看的Python函数讲解

小白必看的Python函数讲解

2025-09-28
初学者必看的Python模块讲解

初学者必看的Python模块讲解

2025-09-28
一看就懂的Python输入和输出、格式化字符串方法

一看就懂的Python输入和输出、格式化字符串方法

2025-09-28
分分钟搞定JSON解析

分分钟搞定JSON解析

2025-09-28