że mam następujące klasy zdefiniowanej metodą foo
:Jak odwołać się do nazwy metody z za pomocą metody w Pythonie?
class MyClass:
def foo(self):
print "My name is %s" % __name__
Teraz gdy zgłoszę foo()
Spodziewam/chcą zobaczyć ten wydrukowane
My name is foo
Jednak mam
My name is __main__
A jeśli mam umieścić definicję klasy w module o nazwie FooBar
, otrzymam
My name is FooBar
Jednak jeśli mam
m = MyClass()
print m.foo.__name__
dostać dokładnie to, co chcę, co jest
My name is foo
Czy ktoś może pomóc wyjaśnić dlaczego __name__
odnosi się do modułu, a nie nazwą metoda? Czy istnieje łatwy sposób uzyskania nazwy metody?
Dziękujemy
dlaczego trzeba to zrobić? z jakim problemem rozwiązujesz? – SilentGhost