Я намекаю на кодовую базу, которая использует argparse для анализа аргументов командной строки, и в этой части кода есть несколько функций, которые выполняют операции со значением, возвращаемым argparse.ArgumentParser.add_subparsers. Просматривая документацию, я не мог понять, какой тип будет возвращен, поэтому я обратился к Pdb, чтобы разобраться:
Код: Выделить всё
(Pdb) p sub
_SubParsersAction(option_strings=[], dest='action', nargs='A...', const=None, default=None, type=None, choices={}, required=True, help=None, metavar=None)
Хотя mypy прекрасно справляется с использованием argparse._SubParsersAction в качестве подсказки типа, мне это кажется неправильным, учитывая, что обычно подчеркивание обозначает частный API в Python, и я полагаюсь на него для подсказка типа звучит как плохая идея.
Итак, как я могу ввести подсказку такого параметра, не полагаясь на частный API?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... rser-add-s