Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Python对象属性类_Python_Class_Validation_Attributes - Fatal编程技术网

检查Python对象属性类

检查Python对象属性类,python,class,validation,attributes,Python,Class,Validation,Attributes,我有一个类Quad,用于检查实例是否是一些不同形式的四边形,其参数为(sideAB、sideDA、angela)。假设角度a以度为单位 如果属性是数字,我如何执行检查以验证对象?我知道我可以在类外执行异常,但这是我最好在类内处理验证的方式吗 抱歉,如果这看起来有点初级,我对python还比较陌生。我是这个网站的新手,所以如果你对更合适的帖子内容有任何建议,请告诉我。你可以做一些明确的事情,比如: class Quad(object): def __init__(sideAB, side

我有一个类Quad,用于检查实例是否是一些不同形式的四边形,其参数为(sideAB、sideDA、angela)。假设角度a以度为单位

如果属性是数字,我如何执行检查以验证对象?我知道我可以在类外执行异常,但这是我最好在类内处理验证的方式吗


抱歉,如果这看起来有点初级,我对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”一样有效,我应该将其设置为无效。