srinivasan srinivas wrote:
Hi,
I am getting an error while executing the following snippet. If i comment out 
method __repr__ , it works fine.

class fs(frozenset):
    def __new__(cls, *data):
        data = sorted(data)
        self = frozenset.__new__(cls, data)
        self.__data = data
        return self

    def __repr__(self):
        return "%s(%r)" % (self.__class__.__name__, self.__data)

a1 = fs(1,2,3)
a2 = fs(3,4,5)
print a1.difference(a2)

Error:
    return "%s(%r)" % (self.__class__.__name__, self.__data)
AttributeError: 'fs' object has no attribute '_fs__data'

Please help me in fixing this.

When posting problems like this, please include the Python version.
If you ran this with 2.6, please run the following:

x = frozenset('abc')
y = frozenset('bcd')
z = x.difference(y)
print(id(x) != id(z))

This should print (True), but if 2.6 has a bug for frozenset similar one it has for bytearrays, it will print (False) and that would explain your error.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to