Вот упрощенная версия того, что я пробовал до сих пор:
Код: Выделить всё
from typing import Union
from datetime import datetime, date, timedelta
# Define numeric and time-related types
NumT = Union[float, int]
TimeT = Union[datetime, date, timedelta]
# Combine both into a parent type
OkayArgTypes = Union[type[NumT], type[TimeT]]
Код: Выделить всё
def test(t: OkayArgTypes):...
test(NumT) # Error
test(int) # OK
Однако я изо всех сил пытаюсь понять как на самом деле выполнить условную проверку с помощью OctoberArgTypes. Приведенный выше код не работает должным образом, поскольку type(x), похоже, не соответствует тому, как определенОКОКАЛИГИС.
Может ли кто-нибудь мне помочь? понимаю, потому что я явно упускаю из виду тот факт, что я объединяю типы, а затем пытаюсь вызвать само объединение, однако мне не хватает дальнейшего опыта.
- Как я могу правильно определить NumT или OKAgTypes для этого варианта использования?
- Как правильно выполнить проверку типа во время выполнения?
Заранее благодарим за помощь!
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python