Sub-classing unicode: getting the unicode value
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Sun Dec 30 15:44:09 EST 2007
On 30 dic, 17:25, Torsten Bronger <bron... at physik.rwth-aachen.de>
wrote:
> I sub-classed unicode in an own class called "Excerpt", and now I
> try to implement a __unicode__ method. In this method, I want to
> get the actual value of the instance, i.e. the unicode string:
The "actual value of the instance", given that it inherits from
unicode, is... self.
Are you sure you *really* want to inherit from unicode? Don't you want
to store an unicode object as an instance attribute?
> Unfortunately, unicode objects don't have a __unicode__ method.
Because it's not needed; unicode objects are already unicode objects,
and since they're immutable, there is no need to duplicate them. If it
existed, would always return self.
> However, unicode(super(Excerpt, self)) is also forbidden because
> super() allows attribute access only (why by the way?).
(because its purpose is to allow cooperative methods in a multiple
inheritance hierarchy)
> How does my object get its own value?
"its own value" is the instance itself
--
Gabriel Genellina
More information about the Python-list
mailing list