Вопрос

В этот файл , в функции cross_from_below (x, threshold) есть строка с надписью threshold = threshold . Какой смысл этой линии? Делает ли это что-то иначе, чем если бы этой команды не было?

Это было полезно?

Решение

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

Другие советы

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

Единственный случай, когда что-то вроде threshold = threshold будет иметь значение, - это оператор def , в котором идиома используется для принудительного раннего связывания имени ( в нем используется тот факт, что значения по умолчанию оцениваются во время def , т. е. «ранний» ;-). Но это не то, что делает этот код - просто добавьте его для полноты.

Это может что-то значить. Например, если threshold является свойством класса, то его присвоение может вызвать метод установки.

Но в данном случае я думаю, что это опечатка. Я посмотрел на changelog , и нет никаких намеков на то, что это было сделано намеренно по любой причине.

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

 self.threshold = threshold

потому что функция была методом некоторого класса, который должен был поддерживать порог. (В таком случае это будет означать что-то еще, не так ли?)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top