Какие знаешь виды методов у класса в Python
Python
Middle
Arendadata
Какие знаешь виды методов у класса в Python
Ответы
В Python классы могут содержать несколько видов методов:
- **Обычные методы (instance methods)** – принимают `self` как первый аргумент, работают с экземпляром класса.
- **Методы класса (class methods)** – принимают `cls` как первый аргумент, работают с самим классом. Декорируются `@classmethod`.
- **Статические методы (static methods)** – не принимают `self` или `cls`, работают как обычные функции, но логически связаны с классом. Декорируются `@staticmethod`.
Пример:
```
class MyClass:
def instance_method(self):
return f"Instance method: {self}"
@classmethod
def class_method(cls):
return f"Class method: {cls}"
@staticmethod
def static_method():
return "Static method"
```
Также есть **магические методы** (например, `__init__`, `__str__`), которые вызываются автоматически в определенных ситуациях.