Комментарии 4
Можно ещё использовать Ellipsis в тестах в роли "какой-то объект". Некоторые параметризованные тесты содержат наборы данных, в которых только часть параметров имеет значение, для остальных можно использовать Ellipsis в роли "тут какой-то, неважно какой объект, главное что это не False и не None".
False и None - вполне себе обычные значения для аргумента функции, поэтому их не всегда удобно использовать, когда хочется написать понятный тест.
bool(...) даёт True, кстати, и это важное, и наверное, единственное отличие этого объекта от None.
bool(...) даёт True, кстати, и это важное, и наверное, единственное отличие этого объекта от None.
Да. Остальные отличия - только в том, как эти объекты используются.
Из документации:
None
This type has a single value. There is a single object with this value. This object is accessed through the built-in name
None
. It is used to signify the absence of a value in many situations, e.g., it is returned from functions that don’t explicitly return anything. Its truth value is false.
Ellipsis
This type has a single value. There is a single object with this value. This object is accessed through the literal
...
or the built-in nameEllipsis
. Its truth value is true.
Спасибо за статью. Насколько я помню, сам Гвидо Ван Россум рекомендует использовать эллипсы, так что можно не бояться за best-practice :)
Встретился недавно разбираясь в кодах yolov5 yolov8, это был как раз срез где вместо x[:,:, y] было x[..., y]
Объект многоточие в Python