Decir que tengo la siguiente clase definida con el método foo
:¿Cómo hacer referencia a un nombre de método con un método en Python?
class MyClass:
def foo(self):
print "My name is %s" % __name__
Ahora cuando llamo foo()
espero/quieres ver esto imprime
My name is foo
Sin embargo consigo
My name is __main__
Y si tuviera que poner la definición de clase en un módulo llamado FooBar
obtendría
My name is FooBar
Sin embargo, si lo hago
m = MyClass()
print m.foo.__name__
puedo obtener exactamente lo que quiero, que es
My name is foo
Por favor alguien puede ayudar a explicar por qué __name__
se refiere al módulo y no el nombre del método? ¿Hay alguna manera fácil de obtener el nombre del método?
Muchas gracias
¿por qué necesita para hacer esto? ¿Qué problema estás resolviendo? – SilentGhost