gpt4 book ai didi

python - 如何区分np.ndarray还是None?

转载 作者:行者123 更新时间:2023-12-01 02:35:24 24 4
gpt4 key购买 nike

有代码:

import numpy as np

def check(x):
if x == None:
print('x is None')

check(np.array([1,2]))

x 可以是 None 或 np.ndarray,所以我想检查 x 是 None 还是 np.ndarray,但是如果我将 np.ndarray 传递给 检查,它会引发错误,因为 np.ndarray==None 应该使用 np.any() 或 np.all() 。那我该怎么办?

最佳答案

检查 ndarray 类型

优于type(x):使用isinstance

来自PEP 8 :

Object type comparisons should always use isinstance() instead of comparing types directly.

在您的示例中:使用 if isinstance(x, np.ndarray):

检查x是否为None

选项 1:使用elif x is None:。这会明确检查 x 是否为 None。

选项 2:使用elif 而不是x:。这利用了 None 的“虚假性”,但是如果 x 是其他“Falsey”值,例如 np.nan、0 或空数据结构。

关于python - 如何区分np.ndarray还是None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46300339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com