Задать вопрос
@ovitebs

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

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

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

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 02:12
70000 руб./за проект
19 янв. 2025, в 01:58
20000 руб./за проект
18 янв. 2025, в 23:27
50000 руб./за проект