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