如果我有一个NumPy的阵列,例如5×3,有没有办法把它解压到通过一次全部列接一列传递给一个函数,而不是像这样:my_func(arr[:, 0], arr[:, 1], arr[:, 2])?
有点像*args列表拆包但是按列.
当使用 pytest.raises 测试由 try/ except 块捕获的错误时,由于未引发错误而失败。
如果我使用字典查找进行简单测试并且不对其进行尝试/例外,则 pytest.raises 测试会通过。但如果使用try/ except,则测试失败。
这是有效的:
def lookup_value(key):
lookup = {'A': 1, 'B': 2}
return lookup[key]
def test_lookup():
with pytest.raises(KeyError):
lookup_value('C')
Run Code Online (Sandbox Code Playgroud)
现在添加尝试/例外:
def lookup_value(key):
lookup = {'A': 1, 'B': 2}
try:
return lookup[key]
except KeyError as err:
print(err)
def test_lookup():
with pytest.raises(KeyError):
lookup_value('C')
Run Code Online (Sandbox Code Playgroud)
第一个片段,测试通过。第二个片段,我得到“失败:没有提高<class 'KeyError'>”