我在使用函数和try except语句时遇到了一些麻烦。
我想要的是与以下示例脚本类似
我想根据输入数组的形状引发错误。我有两个选项shape = (4,)
或shape = (1,)
。
def simple_func(a, b):
try:
return (a / b)
except:
print('Error Raised')
a = other_function(a[0], a[1], a[2], a[3])
b = other_function(b[0], b[1], b[2], b[3])
return (a / b)
我知道相同的功能,相反的功能更简单(下面)。这是真的,但我认为在80%的情况下a
和b
的形状都有shape = (1,)
所以我希望它尽可能快地计算...
def simple_func2(a, b):
try:
a = other_function(a[0], a[1], a[2], a[3])
b = other_function(b[0], b[1], b[2], b[3])
return (a / b)
except IndexError:
print('Error Raised')
return (a / b)
那么存在一个方法或异常,所以我可以使用第一个函数?这是因为我没有得到它来提出我想要的例外。此刻我只看到了一种使用If语句的方法。
other_function
有4个输入,结果是1输出(返回),一个简单的示例做了一些简单的事情:
def other_function(a,b,c,d):
return(a + b + c + d)
答案 0 :(得分:0)
使用函数other_function
和示例一样简单,您的代码简化为
def simple_func2(a, b):
return numpy.sum(a) / numpy.sum(b)
适用于所有和任何数组形状。