【基础】Python中的类的特殊方法和属性
发布时间: 2024-06-24 11:40:27 阅读量: 61 订阅数: 95
![【基础】Python中的类的特殊方法和属性](https://foruda.gitee.com/images/1704590992897984968/31cf4c81_10826153.jpeg)
# 1. Python类概述**
Python类是用于创建对象的蓝图,它定义了对象的属性和方法。类可以看作一个模板,而对象是根据该模板创建的实例。类提供了封装、继承和多态等特性,使代码更易于维护和扩展。
# 2. Python类中的特殊方法
### 2.1 __init__方法:构造器
**定义:**
`__init__(self, *args, **kwargs)` 方法是类的构造器,在创建类实例时自动调用。它负责初始化实例的属性。
**参数:**
* `self`: 实例本身
* `*args`: 可变长度参数列表
* `**kwargs`: 可变关键字参数列表
**代码块:**
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
```
**逻辑分析:**
该代码定义了一个 `Person` 类,其构造器 `__init__` 方法接受两个参数:`name` 和 `age`。它使用 `self` 关键字将这些参数分配给实例属性 `self.name` 和 `self.age`。
### 2.2 __del__方法:析构器
**定义:**
`__del__(self)` 方法是类的析构器,在实例被销毁时自动调用。它负责释放实例占用的资源。
**参数:**
* `self`: 实例本身
**代码块:**
```python
class MyClass:
def __del__(self):
print("Instance of MyClass destroyed")
```
**逻辑分析:**
该代码定义了一个 `MyClass` 类,其析构器 `__del__` 方法在实例被销毁时打印一条消息。
### 2.3 __str__方法:字符串表示
**定义:**
`__str__(self)` 方法返回实例的字符串表示形式。当实例被转换为字符串时,该方法被自动调用。
**参数:**
* `self`: 实例本身
**代码块:**
```python
class Person:
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
```
**逻辑分析:**
该代码定义了一个 `Person` 类,其 `__str__` 方法返回一个字符串,其中包含实例的 `name` 和 `age` 属性。
### 2.4 __repr__方法:对象表示
**定义:**
`__repr__(self)` 方法返回实例的可执行字符串表示形式。当实例在交互式解释器中表示时,该方法被自动调用。
**参数:**
* `self`: 实例本身
**代码块:**
```python
class MyClass:
def __repr__(self):
return f"MyClass(name='{self.name}')"
```
**逻辑分析:**
该代码定义了一个 `MyClass` 类,其 `__repr__` 方法返回一个字符串,其中包含实例的 `name` 属性。该字符串可以用来重新创建实例。
# 3. 类属性字典
#### 概述
`__dict__`属性是一个字典,它存储了类的所有属性,包括实例属性和类属性。它提供了对类属性的直接访问和修改。
#### 实例
```python
clas
```
0
0