# 2.类与对象的基础
在 Python 中,类是创建对象的蓝图,它定义了对象的属性和方法。对象则是根据类创建的具体实例。下面是一个简单的类定义示例:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
1
2
3
4
2
3
4
在这个例子中,Car
是一个类,它有两个属性:brand
(品牌)和model
(型号)。__init__
是一个特殊的方法,称为构造函数,用于初始化对象的状态。
# 3.方法的定义
在类中,除了__init__
方法外,我们还可以定义其他方法来描述对象的行为。这些方法通常以self
作为第一个参数,self
代表了当前对象的实例。以下是在Car
类中定义一个方法的示例:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def start_engine(self):
print(f"The {self.model} by {self.brand} has started.")
1
2
3
4
5
6
7
2
3
4
5
6
7
在这个例子中,start_engine
是一个方法,它定义了汽车启动引擎的行为。self
参数允许该方法访问和修改对象的属性。
# 4.方法的调用
定义了类和方法之后,我们可以创建对象并调用其方法。以下是如何创建Car
对象并调用start_engine
方法的示例:
my_car = Car("Tesla", "Model S")
my_car.start_engine()
1
2
2
在这个例子中,我们首先创建了一个Car
对象my_car
,然后调用了它的start_engine
方法。输出将是:"The Model S by Tesla has started."
# 5.类方法与静态方法
除了实例方法(通过self
调用的方法),Python 还支持类方法和静态方法:
- 类方法:使用
@classmethod
装饰器定义,它们的第一个参数是类本身,通常用cls
表示。 - 静态方法:使用
@staticmethod
装饰器定义,它们不需要类或实例的引用。
以下是类方法和静态方法的示例:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
@classmethod
def get_class_info(cls):
print(f"Class: {cls.__name__}")
@staticmethod
def check_speed(speed):
print(f"Speed: {speed} km/h")
# 创建Car对象
my_car = Car("Toyota", "Corolla")
# 调用类方法
Car.get_class_info()
# 调用静态方法
Car.check_speed(120)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
← 04-Python进阶 06-信号处理 →