verilog like class w/ bitslicing & int/long classtype
rdmurray at bitdance.com
rdmurray at bitdance.com
Fri Jan 30 22:14:41 EST 2009
Quoth Stef Mientki <stef.mientki at gmail.com>:
> Marc 'BlackJack' Rintsch wrote:
> > On Fri, 30 Jan 2009 00:25:03 +0100, Stef Mientki wrote:
> >
> >
> >> try this:
> >>
> >> class MyRegClass ( int ) :
> >> def __init__ ( self, value ) :
> >> self.Value = value
> >> def __repr__ ( self ) :
> >> line = hex ( self.Value )
> >> line = line [:2] + line [2:].upper()
> >> return line
> >>
> >
> > def __repr__(self):
> > return '0x%X' % self.value
> >
> >
> >> __str__ = __repr__
> >>
> >
> > This is unnecessary, the fallback of `__str__` is `__repr__` already.
> >
> >
> well this is what my Python is doing:
>
> without _str__ = __repr__
> >>print shadow_register
> 170
>
> with _str__ = __repr__
> >>print shadow_register
> 0xAA
>>> '__str__' in dir(170)
True
That is, the superclass (int) has an __str__, so you have to override it.
--RDM
More information about the Python-list
mailing list