Декоратор classmethod в Python
Описание
classmethodФункция, соответствующая этому декоратору, не требует создания экземпляра класса и не нуждается в параметре self, но первый параметр должен быть параметром cls, представляющим сам класс. Его можно использовать для вызова атрибутов класса, методов класса, создания экземпляров объектов и т. д.
Синтаксис
Синтаксис classmethod:
classmethod
Parameters
- Нет.
Возвращаемое значение
Возвращает метод класса для функции.
Пример
В следующем примере показано, как использовать classmethod:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class A(object):
bar = 1
def func1(self):
print ('foo')
@classmethod
def func2(cls):
print ('func2')
print (cls.bar)
cls().func1() # Вызов метода foo
A.func2() # Создание экземпляра не требуется
Результат вывода:
func2 1 fooДругие расширения
Встроенные функции Python