如何在Python中模擬賦值運算符重載?例如...如何在Python中模擬賦值運算符重載?
class Example(object):
name = String()
age = Integer()
def __init__(self,myname,myage):
self.name.value = myname
self.age.value = myage
,而不是做self.name.value =名字,你怎麼可以模擬賦值運算符超載使MYNAME分配,當你做self.name.value self.name =我的名字?
我結束了創建一個元類註冊類型的屬性(這是'Property'類的子類)。然後我重載'Example'('Model')類中的'__setattr__'方法來類型檢查元類註冊的屬性。見https://github.com/espeed/bulbs/blob/master/bulbs/model.py – espeed 2013-02-02 06:51:22
你在使用'traits'嗎? – pradyunsg 2013-10-18 18:30:44
不,我推出了我自己的Property類class https://github.com/espeed/bulbs/blob/master/bulbs/property.py,它是Model的元類使用的。查看燈泡模型API文檔http://bulbflow.com/docs/api/bulbs/model/ – espeed 2013-11-18 18:13:07