spam-me at no-thanks.com
Thu Jan 23 02:26:34 CET 2003
I'm trying to find a way for a static method in a class to determine if it
was called from the class, or from an instance.
... def mystaticfunc():
... if i_was_called_statically:
... print "I've been called statically"
... inst = some_magic_way_of_finding_the_instance_invoking_me
... print "I was invoked via instance ", inst
... mystaticfunc = staticmethod(mystaticfunc)
>>>c = C()
I've been called statically
I was invoked via instance <modulename.C instance at 0x6239384>
>>>c1 = C1()
I was invoked via instance <modulename.C1 instance at 0x3426573>
Is there any way to do this without having to define 2 separate methods?
Thanks for your help
More information about the Python-list