类型警告 Pycharm
Type warning Pycharm
给定以下示例:
class A:
def __init__(self, x: (float, np.ndarray) = 0.05):
self.x = x
我打算用它来提示用户参数 x 可以是浮点数或 numpy 数组。如果没有给出,则将默认值设置为 0.05。这是正确的用法吗?如果是,为什么 Pycharm 在我按如下方式启动 A 时变暖? :
a = A(x=np.random.rand(3, 3)) #Expected type 'float', got 'ndarray' instead
如果用的不对,是我的思路哪里错了? x:(float,np.ndarray) 不是意味着 x 可以是浮点数或 np.ndarray 吗?
使用Union
:
from typing import Union
class A:
def __init__(self, x: Union[float, np.ndarray] = 0.05):
self.x = x
给定以下示例:
class A:
def __init__(self, x: (float, np.ndarray) = 0.05):
self.x = x
我打算用它来提示用户参数 x 可以是浮点数或 numpy 数组。如果没有给出,则将默认值设置为 0.05。这是正确的用法吗?如果是,为什么 Pycharm 在我按如下方式启动 A 时变暖? :
a = A(x=np.random.rand(3, 3)) #Expected type 'float', got 'ndarray' instead
如果用的不对,是我的思路哪里错了? x:(float,np.ndarray) 不是意味着 x 可以是浮点数或 np.ndarray 吗?
使用Union
:
from typing import Union
class A:
def __init__(self, x: Union[float, np.ndarray] = 0.05):
self.x = x