Özel __name__
niteliği kavramanın yanı sıra, kendinizi belirli bir sınıf / işlev için nitelikli isme ihtiyaç duyabilirsiniz . Bu, türleri yakalayarak yapılır __qualname__
.
Çoğu durumda, bunlar tamamen aynı olacaktır, ancak iç içe sınıflarla / yöntemlerle uğraşırken, bunlar elde ettiğiniz çıktıda farklılık gösterir. Örneğin:
class Spam:
def meth(self):
pass
class Bar:
pass
>>> s = Spam()
>>> type(s).__name__
'Spam'
>>> type(s).__qualname__
'Spam'
>>> type(s).Bar.__name__ # type not needed here
'Bar'
>>> type(s).Bar.__qualname__ # type not needed here
'Spam.Bar'
>>> type(s).meth.__name__
'meth'
>>> type(s).meth.__qualname__
'Spam.meth'
İç gözlem, peşinde olduğunuz şey olduğundan, bu her zaman göz önünde bulundurmak isteyebilirsiniz.