Не могу понять, что делает этот код - PullRequest
2 голосов
/ 05 июля 2019

Я новичок в Python, поэтому для этого может быть какая-то веская причина, но, похоже, она ничего не делает:

def preprocess(t):
    return t

Мне кажется, что это одна из старых потраченных впустую функций, чтобы что-то замедлять.

Я вижу, что «препроцесс» появляется в нескольких местах вниз по течению, поэтому, если он вызывает «препроцесс» и передает значение «t», а затем возвращает «t», я понятия не имею, почему он передает его туда и обратно.

Ответы [ 3 ]

1 голос
/ 05 июля 2019

Нет, этот код не делает ничего полезного.

Вероятно, он используется как реализация заполнителя, так что код, вызывающий эту функцию, может выполняться; даже если preprocess еще не реализовано.

Альтернативой может быть закомментировать или иным образом удалить вызовы к preprocess, пока он не будет реализован, но это может быть неудобно, если он используется в нескольких местах.

0 голосов
/ 05 июля 2019

Это может быть реализация по умолчанию ничего не делать в базовом классе, который, как ожидается, будет расширен, а поведение обновлено в дочернем классе. Потребуется больше контекста вокруг функции, чтобы узнать, так ли это.

0 голосов
/ 05 июля 2019

Функция идентификации полезна в качестве запрета в тех местах, где в противном случае ожидается какая-либо функция.Например, вы можете исключить условие из функции, такой как

def do_something(value, f=None):
    if f is not None:
        value = f(value)
    # some some more stuff with value

, написав

def do_something(value, f=preprocess):
    value = f(value)
    # do some more stuff with value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...