假设调用方是一种方法,那么可以,通过查看前一帧并
self从本地人中挑选出来可以。
class Reciever: def themethod(self): frame = sys._getframe(1) arguments = frame.f_pre.co_argcount if arguments == 0: print "Not called from a method" return caller_calls_self = frame.f_pre.co_varnames[0] thecaller = frame.f_locals[caller_calls_self] print "Called from a", thecaller.__class__.__name__, "instance"
Üglŷ挺不错的,但是行得通。现在,为什么要执行此操作是另一个问题,我怀疑还有更好的方法。不允许将A的整个概念称为B可能是一个错误。



