假设我使用该方法定义了以下类foo
:
class MyClass:
def foo(self):
print "My name is %s" % __name__
现在,当我打电话时,foo()
我希望/希望看到这个打印出来
My name is foo
但是我得到
My name is __main__
如果我要将类定义放入一个名为的模块中,FooBar
我会得到
My name is FooBar
但是,如果我这样做
m = MyClass()
print m.foo.__name__
我得到了我想要的
My name is foo
有人可以帮忙解释为什么__name__
指的是模块而不是方法名称吗?有没有一种简单的方法来获取方法名称?
非常感谢