我经常会遇到这样的情况,我会和exec一起完成任务,比如:
...
exec(
"someClassInstance = someMapper({someInfo})".format(someInfo=someInfo),
globals(),
)
哪里
someClassInfo
是一个
SomeClass
.
然后我用
someClassInstance
例如:
...
someVar = someClassInstance.someMethod() # type: ignore
所有这些都很好,我实现了我想要的。
但是,从阅读角度和IDE(在我的例子中是emacs+pyright)角度来看,someClassInstance的(非运行时)类型是未知的。
所以,我加上“#type:ignore”。
但是,我想以某种方式使用Python3的类型暗示来让大家知道这一点
someClassInstance属于SomeClass类型(或其祖先之一)。
可能吗?