例如,我定义了一个需要几个输入参数的函数,如果没有分配一些关键字参数,通常会有一个 TypeError 消息,但我想改变它,输出一个 NaN 作为结果,可以这样做吗?
def myfunc( S0, K ,r....):
if S0 = NaN or .....:
怎么做?非常感激。
编辑:
def myfunc(a):
return a / 2.5 + 5
print myfunc('whatever')
>python -u "bisectnewton.py"
Traceback (most recent call last):
File "bisectnewton.py", line 6, in <module>
print myfunc('whatever')
File "bisectnewton.py", line 4, in myfunc
return a / 2.5 + 5
TypeError: unsupported operand type(s) for /: 'str' and 'float'
>Exit code: 1
我想要的是,myfunc(a) 只接受一个数字作为输入,如果输入了一些其他数据类型,如 string = 'whatever',我不想只输出默认错误消息,我希望它输出类似 return 'NaN' 告诉其他人输入应该是一个数字。
现在我把它改成了这个,但还是不行,顺便说一句,和 NaN 不一样吗?我认为他们是不同的。
def myfunc(S0):
if math.isnan(S0):
return 'NaN'
return a / 2.5 + 5
print myfunc('whatever')
>python -u "bisectnewton.py"
Traceback (most recent call last):
File "bisectnewton.py", line 8, in <module>
print myfunc('whatever')
File "bisectnewton.py", line 4, in myfunc
if math.isnan(S0):
TypeError: a float is required
>Exit code: 1
谢谢!