我有一个Quad类用于检查实例是否是几种不同形式的Quadrilateral,其参数是(sideAB,sideDA,angleA)。角度a假定为度数。
如果属性是数字,我如何能够执行检查来验证对象?我知道我可以在课外执行异常,但这是我应该在课堂上最好地处理验证的方式吗?
对不起,如果这看起来有点基础,我对python相对较新。我是这个网站的新手,所以如果您对更合适的帖子内容有任何建议,请告诉我。
答案 0 :(得分:0)
你可以做一些明确的事情,如:
class Quad(object):
def __init__(sideAB, sideDA, angle):
if not isinstance(sideAB, (int, float)):
raise ValueError("All arguments must be numeric.")
...
或者,更加宽容和pythonic:
class Quad(object):
def __init__(sideAB, sideDA, angle):
self.sideAB = float(sideAB)
...
如果它不能成为ValueError
,那么会为您筹集float
,并处理例如q = Quad("1", "2", "3")
没有大惊小怪。