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