0

我正在尝试在 python 上使用 OO 来创建一个很好的结构化类。我有一个对象,一个类的所有函数都将继承,但有可能需要一个或两个附加参数的子函数(getter 和 setter)。

我怎样才能让这种类型的逻辑正常工作。

class XYZ(object):
    def __init__(self, cameraId):
        self.cameraId = cameraId;
        self.index = "";

    def get_test(self):
        print "Index: " + self.index + " CameraID: " + self.cameraId;
        return self.cameraId;

    def set_test(self, value, myValue=""):
        self.cameraId = value;
        self.index = myValue;
        return True;

    TEST_XYZ = property(get_test,set_test);
4

1 回答 1

2

您可以使用tuple-typed 值。请注意,您不必;在语句之后使用...

class XYZ(object):
    def __init__(self, cameraId):
        self.cameraId = cameraId
        self.index = ""

    def get_test(self):
        print "Index: " + self.index + " CameraID: " + self.cameraId
        return self.cameraId

    def set_test(self, value):
        # Require value to be a tuple!
        assert(isinstance(value, tuple))

        self.cameraId = value[0]

        try:
            self.index = value[1]

        except IndexError:
            self.index = ""

        return True

    TEST_XYZ = property(get_test, set_test)
于 2012-04-16T14:26:04.517 回答