如何将实例表示为类型化值

时间:2016-03-02 20:52:39

标签: python oop

我有两个课程ContainerField课程。我想将Field类表示为它包含的值。它需要输入,以便我可以用它做一些有意义的操作。

import datetime

class Field(object):
    date = datetime.date.today()

    def __repr__(self):
        return self.date

class Container(object):
    value = Field().date
    value_2 = Field()

c = Container()
print c.value.isoformat() # perfect
print c.value_2.isoformat() # boo fails

我知道SQLAlchemy在这些方面做了些什么。您可以将属性定义为为您返回类型值的列实例。

1 个答案:

答案 0 :(得分:2)

这是descriptor.__get__上基本定义__set__方法的完美用例,并从中返回预期值。您还可以根据自己的要求定义Titanium.UI.TextField,例如不允许他们设置其他类型的值。

Field
相关问题