#python #python-3.x #type-hinting #mypy #python-typing
Вопрос:
Есть ли способ получить тип поля класса в Python для использования в качестве аннотации типа?
import dataclasses
@dataclasses.dataclass
class A:
field: str
def main() -> None:
value: A.field = 123 # Want mypy to flag an error here
Где A.field
подразумевается ссылка на тип str
, тип A.field
.
Я хотел бы сделать это, чтобы раньше фиксировать ошибки для переменных, которые в конечном итоге могут быть назначены полям.
Комментарии:
1. Нет. Я не думаю, что это так.
2. Я думаю, что это слишком динамично для статической проверки типов, чтобы понять это.
3. @AlexWaygood Я спрашиваю, так как я использую аналогичный синтаксис из TypeScript и привык использовать его в C . Так что в общем случае это то, что может сделать статическая проверка типов.
4. Тем не менее, я не думаю, что это то, на что в настоящее время способны какие-либо статические средства проверки типов Python. Рад, что оказался неправ! 🙂
5. можете ли вы подробнее рассказать о том, почему вам нужно, чтобы ошибки были обнаружены раньше? Почему бы не поднять их, когда вы делаете
A
? Я думаю, что ответ на этот вопрос может ответить на ваш вопрос