2016-06-08 3 views
0

Мне нужно что-то, чтобы организовать некоторые функции утилиты.
Вариант 1. создать модуль и записать все функции в этом модуле.
Вариант 2. (так как питон не staticclass) создать класс только статические методы в основном модулеСтатический класс или функции Python в модулях

В общем, нет большой difference.Like:

вар 1)

import functionsmodule 
workers = functionmodule.get_all_workers(**kwargs) 

вар 2)

workers = FunctionClass.get_all_workers(**kwargs) 

Мне нравится второй вариант. Вопросы: какой лучший способ сделать такую ​​организацию?

+0

Любая причина _why_ вам нравится вторая? – miradulo

+0

Существует ** нет ** лучший способ сделать такую ​​организацию, это зависит от того, чего вы хотите достичь. В общем, однако, первый подход более подходит для рассеянных функций с малой межсвязностью, тогда как ** класс ** зарезервирован для случаев, когда методы взаимосвязаны и используют друг друга. – j4hangir

ответ

0

Вы также можете сделать:

from functionsmodule import get_all_workers, some_other_method 

workers = get_all_workers(**kwargs) 

Через пару месяцев обучения питона, это мое предпочтительное решение. Он очищает код без необходимости ссылаться на класс или модуль. Я рекомендовал бы это, только если имена методов ваших утилитов WONT конфликтовать с другими или встроенными командами функциями

Я обычно организовать эти Многоразовые/утилиты в рамках общего пакета и реализовать что-то вроде:

from common.functions import get_all_workers, some_other_method 

workers = get_all_workers(**kwargs) 

EDIT : На основе вашего метода «get_all_workers» - я бы предположил, что это должно входить в какой-то упорство/рабочий класс, а не в общий класс коммунальных услуг

Смежные вопросы