我想写一个如下的装饰器,但是要做到这一点,我需要以某种方式访问声明的类型。这可能吗?
def type_strict(fn):
# some magic probably using inspect?
@type_strict
def example(a, b:int, c:str):
#stuff
example("a", 2, "b") # ok
example(someRandomClass(), 2, "hi") # ok
example(someRandomClass(), "12", "by") # b should be int
example(someRandomClass(), 1, 214) # c should be str