@ovitebs

Что делает «...» в Python?

Читаю документацию FastAPI и наткнулся на литерал ..., например:
@app.get("/items/")
async def read_items(q: str = Query(..., min_length=3)):

Из документации я понял, что называется это Ellipsis, но что оно такое и для чего использовать - не могу понять.
Пытался найти информацию в интернете, но все что находил - это в лучшем случае вольная интерпретация документации.
Буду благодарен за разъяснение для чего в этом примере используется ...
  • Вопрос задан
  • 230 просмотров
Решения вопроса 3
Vindicar
@Vindicar
RTFM!
Вообще обычно это заглушка. Но это уникальное значение (как None), и его можно использовать для своих целей, при желании.
Например, в numpy он используется так: если у нас есть массив с 3 измерениями, и мы хотим задать срез по третьему измерению, мы можем записать либо так array[:, :, 0] либо так array[..., 0].
По-моему, еще в typing есть применения.
Ответ написан
Комментировать
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
В общем случае - значит что это "заглушка" и позже код нужно будет дописать.
Ответ написан
iggor-markin
@iggor-markin
Python Developer
Читайте "..." как "что угодно" или "что-нибудь".
def foo(a: ..., b: int) -> ...
Это то же самое. Здесь a — любой тип, возвращает что угодно.
def foo(a: any, b: int) -> ...

def bar():
    ...

И то же самое:
def foo():
    pass


Используем "..." как временный маркер, некий todo, чтобы вернуться сюда позже.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы