Python 核心编程第六章:类和对象221


在 Python 中,类是一种数据类型,它用于创建具有相同属性和方法的对象。对象是类的实例,它们共享类定义的属性和方法。

类定义

类使用以下语法定义:```python
class ClassName:
# 类属性
class_attribute = "value"
# 构造函数(初始化方法)
def __init__(self, *args, kwargs):
# 初始化对象属性
= "value"
# 类方法
@classmethod
def classmethod(cls, *args, kwargs):
# 类方法的使用场景
pass
# 静态方法
@staticmethod
def staticmethod(*args, kwargs):
# 静态方法的使用场景
pass
```
其中:
* 类名应大写驼峰命名。
* 类属性用于存储共享在所有类的对象之间的值。
* 构造函数(`__init__` 方法)用于初始化对象属性。
* 类方法以 `@classmethod` 装饰器装饰,使用类本身作为第一个参数。
* 静态方法以 `@staticmethod` 装饰器装饰,不接收任何类或实例作为参数。

对象创建

使用以下语法创建对象:```python
object = ClassName(*args, kwargs)
```

属性和方法

对象可以通过点号语法访问其属性和方法:* 属性: ``
* 方法: `()`

类继承

Python 支持类继承,允许创建新的类,称为子类,该类继承其父类的属性和方法。子类可以使用以下语法定义:```python
class Subclass(ParentClass):
# 子类属性和方法
pass
```
其中:
* `Subclass` 是新创建的类。
* `ParentClass` 是被继承的父类。

多态性

多态性是指对象可以具有不同的行为,具体取决于其类型。这在使用继承时非常有用,因为子类的方法可以覆盖父类的方法,从而提供不同的行为。

特殊方法

Python 提供了特殊方法,允许类自定义其行为。这些特殊方法以双下划线(`__`)开头和结尾,例如:* `__init__`: 构造函数
* `__repr__`: 返回对象的字符串表示形式
* `__str__`: 返回对象的字符串表示形式(更友好)
* `__add__`: 实现加法操作
* `__len__`: 实现长度操作

通过重写这些特殊方法,可以自定义类的行为,例如更改对象表示形式或实现自定义运算符。

案例

以下示例展示了类和对象的基本用法:```python
class Person:
def __init__(self, name):
= name
def greet(self):
print(f"Hello, my name is {}!")
person = Person("John")
()
```

输出:```
Hello, my name is John!
```

在该示例中:* `Person` 是一个类,它定义了 `__init__` 方法来初始化 `name` 属性,以及 `greet` 方法来打印问候语。
* `person` 是 `Person` 类的对象,其 `name` 属性设置为 "John"。
* 对象 `person` 调用 `greet` 方法打印问候语。

2024-12-03


上一篇:Python 编程模式:揭秘 Python 中最常用的设计模式

下一篇:Python 核心编程:第六章 函数