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







Внутри класса можно создать метод, который будет доступен без создания экземпляра класса. Для этого перед определением метода внутри класса следует указать декоратор @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 применяется и для разного рода парсинга и структурирования контент чтобы было легче занести данные в базу. Программирование здорового облегчает жизнь человечеству если знать как правильно ее использовать.
- Свойства класса - ООП Python
- Гибкое создание объектов в Python с помощью метода __new__
- Доступ к атрибутам класса в языке Python
- Объектно-ориентированное программирование. Методы __init__() и __del__() в Python
- Наследование. Объектно-ориентированное программирование в Python
- Альтернативы статическим методам Python
- Абстрактные методы в Python
Супер, спасибо большое за такое пояснение!