检查Python对象属性类
我有一个类Quad,用于检查实例是否是一些不同形式的四边形,其参数为(sideAB、sideDA、angela)。假设角度a以度为单位 如果属性是数字,我如何执行检查以验证对象?我知道我可以在类外执行异常,但这是我最好在类内处理验证的方式吗检查Python对象属性类,python,class,validation,attributes,Python,Class,Validation,Attributes,我有一个类Quad,用于检查实例是否是一些不同形式的四边形,其参数为(sideAB、sideDA、angela)。假设角度a以度为单位 如果属性是数字,我如何执行检查以验证对象?我知道我可以在类外执行异常,但这是我最好在类内处理验证的方式吗 抱歉,如果这看起来有点初级,我对python还比较陌生。我是这个网站的新手,所以如果你对更合适的帖子内容有任何建议,请告诉我。你可以做一些明确的事情,比如: class Quad(object): def __init__(sideAB, side
抱歉,如果这看起来有点初级,我对python还比较陌生。我是这个网站的新手,所以如果你对更合适的帖子内容有任何建议,请告诉我。你可以做一些明确的事情,比如:
class Quad(object):
def __init__(sideAB, sideDA, angle):
if not isinstance(sideAB, (int, float)):
raise ValueError("All arguments must be numeric.")
...
或者,更宽大一点,更像蟒蛇:
class Quad(object):
def __init__(sideAB, sideDA, angle):
self.sideAB = float(sideAB)
...
如果它不能使浮动
,并处理例如q=Quad(“1”、“2”、“3”)
,则会为您引发一个ValueError
谢谢,根据规范(这是项目的一部分),我有一个_验证函数,所以我可以对所有参数进行isinstance检查吗?如果它们都有效,那么有效属性设置为true?如果这不是一个项目,我可以更灵活地使用我的代码,但即使参数是作为字符串输入的,但会像sideAB=“10”一样有效,我应该将其设置为无效。