Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Статические методы и методы класса

Статические методы

Внутри класса можно создать метод, который будет доступен без создания экземпляра класса. Для этого перед определением метода внутри класса следует указать декоратор @staticmethod. Вызов статического метода без создания экземпляра класса осуществляется следующим образом:

<Название класса>.<Название метода>(<Параметры>)
Кроме того, можно вызвать статический метод через экземпляр класса:

<Экземпляр класса>.<Название метода>(<Параметры>)
Пример использования статических методов вриведен ниже.

class Class1(object):
    @staticmethod
    def sum1(x, y):              # Статический метод
        return x + y
    def sum2(self, x, y):        # Обычный метод в классе
        return x + y
    def sum3(self, x, y):
        return Class1.sum1(x, y) # Вызов из метода класса
 
print Class1.sum1(10, 20)        # Вызываем статический метод
c1 = Class1()
print c1.sum2(15, 6)             # Вызываем метод класса
print c1.sum1(50, 12)            # Вызываем статический метод
                                 # через экземпляр класса
print c1.sum3(23, 5)             # Вызываем статический метод
                                 # внутри класса

Обратите внимание на то, что в определении статического метода нет параметра self. Это означает, что внутри статического метода нет доступа к атрибутам и методам экземпляра класса. Методы класса создаются с помощью декоратора @classmethod. В качестве первого параметра в метод класса передается ссылка на класс, а не на экземпляр класса. Вызов метода класса осуществляется следующим образом.

<Название класса>.<название метода>(<Параметры>)
Кроме того, можно вызывать метод класса через экземпляр класса

<Экземпляр класса>.<Название метода>(<Параметры>)

Методы класса

class Class1(object):
    @classmethod
    def test(cls, x): # Метод класса
        print cls, x
Class1.test(10)       # Вызываем метод через название класса
c1 = Class1()
c1.test(50)           # Вызываем метод класса через экземпляр

ООП в языке программирования Python применяется в разных задачах для решения более трудных задач чтобы не повторять код. Python применяется и для разного рода парсинга и структурирования контент чтобы было легче занести данные в базу. Программирование здорового облегчает жизнь человечеству если знать как правильно ее использовать.

Комментариев: 1
  1. Супер, спасибо большое за такое пояснение!