我正在尝试编写一个class
,我希望如果该类的初始输入值不服从特定类型,则会引发异常。例如,我会使用except TypeError
来返回错误。我不知道应该怎么做。我第一次尝试编写class
如下:
class calibration(object):
def __init__(self, inputs, outputs, calibration_info, interpolations=2):
try:
self.inputs=inputs
except TypeError
self.outputs=outputs
self.cal_info=calibration_info
self.interpol=interpolations
我希望如果inputs
值不是字符串,那么它会引发错误消息。我很感激你的帮助。
答案 0 :(得分:7)
它在2.x和3.x之间有点不同,但是如果您不满意,请使用isinstance来计算类型然后引发异常。
class calibration(object):
def __init__(self, inputs, outputs, calibration_info, interpolations=2):
if not isinstance(inputs, basestring):
raise TypeError("input must be a string")
Python2区分ascii和unicode字符串 - " basestring"两个人交谈。在python3中,只有unicode字符串,你使用' str'代替。