В Python считается лучшим стилем:
Я объясню свой вопрос на надуманном примере.
Предположим, кто-то пишет функцию _sort_by_scoring, которая принимает два аргумента: функцию оценки и список предметов. Он возвращает копию исходного списка, отсортированную по баллам на основе положения каждого элемента в исходном списке. Также предоставляются два примера функций оценки.
def _sort_by_score(scoring, items_list):
unsorted_scored_list = [(scoring(len(items_list), item_position), item) for item_position, item in enumerate(items_list)]
sorted_list = [item for score, item in sorted(unsorted_scored_list)]
return sorted_list
def _identity_scoring(items_list_size, item_position):
return item_position
def _reversed_scoring(items_list_size, item_position):
return items_list_size - item_position
Функция _sort_by_score никогда не вызывается напрямую; вместо,
Какой из двух стилей предпочтительнее для определения «полезных» функций? Существуют ли другие стили, которые более идиоматичны / Pythonic / и т. Д.?