@ovitebs

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

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

Из документации я понял, что называется это Ellipsis, но что оно такое и для чего использовать - не могу понять.
Пытался найти информацию в интернете, но все что находил - это в лучшем случае вольная интерпретация документации.
Буду благодарен за разъяснение для чего в этом примере используется ...
  • Вопрос задан
  • 229 просмотров
Решения вопроса 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, чтобы вернуться сюда позже.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы