0
的全名給定一個嵌套類B
:得到一個嵌套類
class A:
class B:
def __init__(self):
pass
ab = A.B()
我怎樣才能獲得類ab
的全稱是什麼?我希望得到像A.B
這樣的結果。
的全名給定一個嵌套類B
:得到一個嵌套類
class A:
class B:
def __init__(self):
pass
ab = A.B()
我怎樣才能獲得類ab
的全稱是什麼?我希望得到像A.B
這樣的結果。
你可以得到的全名,__qualname__
,其__class__
:
>>> ab.__class__.__qualname__
'A.B'
最好用type
(這在實例調用__class__
):
>>> type(ab).__qualname__
非常感謝。 –
你爲什麼嵌套類?你需要什麼名字?你試圖解決的實際問題是什麼? – jonrsharpe
我最強烈的理由之一就是表現出像模塊的良好實踐。例如,我有一個類是所有模塊的信封。我使用它,因爲python沒有完美的模塊解決方案。 第二個原因是它更好的分解問題。 –
這不是一個很好的理由; Python *確實有模塊的解決方案,而且它也是錯誤的模塊。包含'__init __。py'的文件或目錄是模塊。您不必將所有內容都包裝在類中,這不是Java。也許你應該問這個問題。 – jonrsharpe