Sobes.tech
Back to questions
Junior — Middle
77

Какие основные типы методов существуют в языке Python и для чего они предназначены?

Answer from AI

sobes.tech AI

В Python существуют три основных типа методов внутри классов:

  1. Экземплярные методы (instance methods) — принимают первым параметром self, который ссылается на конкретный экземпляр класса. Используются для работы с данными конкретного объекта.

  2. Методы класса (class methods) — объявляются с декоратором @classmethod и принимают первым параметром cls, который ссылается на сам класс. Позволяют работать с классом в целом, а не с отдельным объектом.

  3. Статические методы (static methods) — объявляются с декоратором @staticmethod и не принимают автоматически ни self, ни cls. Это обычные функции, сгруппированные внутри класса для удобства.

Пример:

class MyClass:
    def instance_method(self):
        print(f'Instance method called on {self}')

    @classmethod
    def class_method(cls):
        print(f'Class method called on {cls}')

    @staticmethod
    def static_method():
        print('Static method called')

Каждый тип метода служит своей цели и используется в зависимости от задачи.