检查Python对象属性类

2024-09-27 00:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

抱歉,如果这看起来有点初级,我对python还比较陌生。我是这个网站的新成员,所以如果你对更合适的帖子内容有任何建议,请告诉我。你知道吗


Tags: 对象实例参数属性方式单位数字形式
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:11

你可以做一些明确的事情,比如:

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)
        ...

如果它不能生成一个float,那么它将为您生成一个ValueError,并且可以毫不费事地处理例如q = Quad("1", "2", "3")。你知道吗

相关问题 更多 >

    热门问题