@Microp

Чем определение функций в классе через staticmethod лучше, чем простое хранение их в файле?

Вопрос скорее как правильно структурировать код функций, есть два пути
Первый
class SomeService:
    @staticmethod
    def func_a(arg1, arg2):
        ...
        return SomeResponse

    @staticmethod
    def func_b(arg1, arg2):
        ...
        return SomeResponse


Второй
def func_a(arg1, arg2):
    ...
    return SomeResponse

def func_b(arg1, arg2):
    ...
    return SomeResponse

С учетом того, что плюшка ООП не используются и объект класса никак не участвует в функциях
Единственный плюс, что я вижу у классов это необходимость импорта, только класса, вместо перечисления функций
from .. import SomeService

И буду благодарен за ссылки откуда, черпать информацию для решения споров в таких вопросах (Типа google stile или что-то ещё)
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@dooMoob
1. У вас вопрос про classmethod, а в коде про staticmethod
2. Чем лучше? Более свободное пространство имен, т.е. у вас может быть много функций с именем func_a, которые работают по-разному
3. Как правильно? Как вам больше нравится/как принятно у вас в компании, оба подхода правильны
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы