Какие знаешь методы класса
Python
Middle
Без компании
Какие знаешь методы класса
Ответы
В Python классы могут содержать несколько типов методов:
- **Обычные методы (instance methods)** – принимают `self` как первый аргумент и работают с экземпляром класса.
```
class MyClass:
def instance_method(self):
return self
```
- **Методы класса (class methods)** – принимают `cls` и работают с самим классом. Декорируются `@classmethod`.
```
class MyClass:
@classmethod
def class_method(cls):
return cls
```
- **Статические методы (static methods)** – не принимают `self` или `cls`, просто функции внутри класса. Декорируются `@staticmethod`.
```
class MyClass:
@staticmethod
def static_method():
return "No instance or class needed"
```
- **Магические методы (dunder methods)** – начинаются и заканчиваются на `__`, например `__init__`, `__str__`.
- **Абстрактные методы** – определены в абстрактных классах (`ABC`) и требуют переопределения в дочерних классах.