Python 使用无法导入的类型进行输入
Python typing with with types that may not be imported
在等待 numpy 实现类型化的同时,我想创建一个简单的类型化对象来指示变量是 numpy ndarray
还是 tensorflow 张量。我该怎么做呢?我想要类似
的东西
X = Union[np.ndarray, tf.Tensor]
理想情况下,即使我不导入 tensorflow,我也可以定义这种类型。如果我必须只使用占位符类型,那是可以接受的。如果我走那条路,我该怎么做?有没有类似的东西:
X = typing.PlaceholderType('X')
您始终可以传递一个简单的字符串而不是实际的对象:
X = Union[np.ndarray, 'tf.Tensor']
这只是暂时的(我随意使用这个术语),直到 Python 4.0 发布,届时函数注释将不会被评估,而只会被保存为字符串,直到有人在运行时想要明确评估它们。
在等待 numpy 实现类型化的同时,我想创建一个简单的类型化对象来指示变量是 numpy ndarray
还是 tensorflow 张量。我该怎么做呢?我想要类似
X = Union[np.ndarray, tf.Tensor]
理想情况下,即使我不导入 tensorflow,我也可以定义这种类型。如果我必须只使用占位符类型,那是可以接受的。如果我走那条路,我该怎么做?有没有类似的东西:
X = typing.PlaceholderType('X')
您始终可以传递一个简单的字符串而不是实际的对象:
X = Union[np.ndarray, 'tf.Tensor']
这只是暂时的(我随意使用这个术语),直到 Python 4.0 发布,届时函数注释将不会被评估,而只会被保存为字符串,直到有人在运行时想要明确评估它们。