Введите аннотации с помощью Python 3.10Python

Программы на Python
Anonymous
Введите аннотации с помощью Python 3.10

Сообщение Anonymous »

Я пытаюсь понять аннотации типов Python 3.10.
Обратите внимание на функции:

Код: Выделить всё

def A(n: int):
return [k for k in range(n+1)]

def B(n: int):
return B(n - 1) + [n] if n > 0 else [0]
Подсказки типов, показанные в VSCode:

Код: Выделить всё

(function) A: (n: int) -> list[int]
(function) B: (n: int) -> (Any | list[int])
Почему тип возвращаемого значения не list[int] в обоих случаях?
Более конкретно: как мне написать рекурсивный вариант Bполучить только список типов[int] в качестве возвращаемого типа?

Подробнее здесь: https://stackoverflow.com/questions/704 ... ython-3-10

Вернуться в «Python»