在类范围内导入模块的类型提示

时间:2019-09-28 00:18:36

标签: python python-3.x python-typing

我有一个类函数,我只想定义定义为安装“额外”的某个模块(X)是否可用。

class ABC:
    try:
        from X import y

        def to_y(self) -> ???:
            return self.y(self)

    except ImportError:
        pass

这里的问题是y现在绑定到类的范围,而不是类型提示似乎需要的全局作用域。

我该如何解决?

很显然,我可以在to_y方法中将所有这些内容排除在类范围和猴子补丁之外。或者,当None不可用时,我可以创建一个全局变量X并使用它。

我很好奇是否有更好,更明显的方法来实现这一目标。

0 个答案:

没有答案