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

def preprocess(t):
    return t

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

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

2
BitTwiddler 5 Июл 2019 в 00:35

3 ответа

Лучший ответ

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

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

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

1
Carcigenicate 4 Июл 2019 в 21:43

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

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
0
chepner 4 Июл 2019 в 21:48

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

0
LhasaDad 4 Июл 2019 в 22:41