Peng Yu <[email protected]> wrote:
> Hi,
>
> I have the following code. I want to change the function body of
> __repr__ to something like
>
> return 'In %s::%s' % ($class_name, $function_name)
>
> I'm wondering what I should write for $class_name and $function_name
> in python.
>
> Regards,
> Peng
>
> class A:
> def __init__(self):
> pass
>
> def __repr__(self):
> return 'In A::__repr__'
>
> a = A()
> print a
>
def __repr__(self):
return 'In %s::__repr__' % self.__class__.__name__
You already know the function is called __repr__ so you don't need to look
it up anywhere. If you really wanted to do it the hard way:
import inspect
...
def __repr__(self):
return 'In %s::%s' % (self.__class__.__name__,
inspect.getframeinfo(inspect.currentframe()).function)
but just repeating __repr__ explicitly is less typing.
--
http://mail.python.org/mailman/listinfo/python-list