我有一个类:蟒蛇:重载访问的变种
class A:
s = 'some string'
b = <SOME OTHER INSTANCE>
现在我想这个类来时,它可以有一个字符串的功能。即:
a = A()
print a.b
将打印b
的值。但我想要的功能,预计一个字符串(例如replace
)工作。例如:
'aaaa'.replace('a', a)
真正做到:
'aaa'.replace('a', a.s)
我试图overidding __get__
但这是不正确的。
我看到你可以通过子类str
来做到这一点,但有没有办法吗?
有你_don't_想从'str'继承理由吗?这将是正确的做法。 – katrielalex 2010-07-26 08:41:16
好吧,正如问题的标题所说,这是一个更普遍的问题。这个解决方案很好,但我认为重写“访问变量”会派上用场。 – Guy 2010-07-26 10:05:43