12 мая 2009. Статические методы в Python

Для тех кто не знает, скажу, что в питоне есть статичные методы, так что можно не извращатьсяи не передавать в качестве аргумента self новые экземпляры класса :)

Чтобы сделать статический метод, нужно воспользоваться декоратором @staticmethod:

class SomeClass(object):
    @staticmethod
    def someStaticMethod():
        return "something"


Также доступны для создания классовые методы через декоратор @classmethod. Классовому методу передается ссылка на класс:

class SomeClass(object):
    CONSTANT = u"какая-то юникодная константа"
    @classmethod
    def someClassMethod(cls):
        return cls.CONSTANT


Оба декоратора доступны в стандартном пространстве имен – ничего импортировать не нужно.


Тэги:

0
Разных мыслей по теме

Выразите свои мысли по теме.