Mark Shannon wrote:
Benjamin Peterson wrote:
2012/4/24 Mark Shannon <m...@hotpy.org>:
I'm not happy with this fix.
It's not perfect, but it's an improvement.
Admittedly code like:
class S(str):
__getattr__ = str.__add__
s = S('a')
print(S.b)
My typo, should be:
print(s.b)
(Instance not class)
is a little weird.
But I think it should work (ie print 'ab') properly.
I can easily believe I'm missing something, but here are the results
with the patch in place:
{'x': 42} 42
{'x': 42} 42
ab
and here's the code:
class Foo1(dict):
def __getattr__(self, key): return self[key]
def __setattr__(self, key, value): self[key] = value
class Foo2(dict):
__getattr__ = dict.__getitem__
__setattr__ = dict.__setitem__
o1 = Foo1()
o1.x = 42
print(o1, o1.x)
o2 = Foo2()
o2.x = 42
print(o2, o2.x)
class S(str):
__getattr__ = str.__add__
s = S('a')
print(s.b)
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com