python獲得變量的類名

python可以通過__name__的特殊方法來獲得所有類的對應類名。如:

class A(object):
    pass

print(A.__name__)  # A

但如果想獲得某一變量所屬的類的類名,用該方法是行不通的:

a = A()
print(a.__name__)

此時,編譯器就會報錯“AttributeError: ‘A’ object has no attribute ‘name’”。
因爲a只是一個類實例,不是類本身,因此不具有__name__屬性。此時,要獲得a的類名可以通過如下兩種方法:

print(a.__class__.__name__)  # A

或者:

print(type(a).__name__)  # A

以上兩種方法的原理是相同的,都是先獲得變量所屬的類,再獲得該類的類名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章