PEP-484 предоставляет семантику для аннотаций типов. Они очень ориентированы на а) документацию и б) помощь для IDE. Они меньше ориентированы на оптимизацию кода.
Например, к сожалению, невозможно использовать аннотации PEP 484 с Cython https://groups.google.com/d/msg/cython-users/DHcbk78rDec/6-b5XtCRGBEJ
или с Numba, последний использует свой собственный формат аннотации в виде строк, например "float64 (int32, int32)" http://numba.pydata.org/numba-doc/0.24.0/reference/types.html.
Как мне работать в рамках PEP 484 с моими собственными типами? Я явно не хочу нарушать семантику PEP-484, но хочу дополнить существующие типы дополнительной информацией, видимой моей собственной проверке типов, но невидимый для любого средства проверки типов или IDE, совместимого с PEP-484.
Будет ли следующее интерпретироваться в семантике PEP-484 как List [int]?
class Int32(int): pass
x = [1] # type: List[Int32]
Как насчет более модного шрифта, подобного этому?
def combine(typeA, typeB):
class X(typeA, typeB): pass
return X
class Metre(): pass
# is y an 'int' to PEP-484 typecheckers?
y = 1 # type: combine(Int32, Metre)
Какие-либо рекомендации для библиотек по работе с подсказками типов как для синтаксического анализа, так и для проверки типов?
numpy
и 484 - stackoverflow.com/q/35673895/901925 - person hpaulj   schedule 24.06.2016