【发布时间】:2017-02-07 12:28:33
【问题描述】:
给定一个嵌套类B:
class A:
class B:
def __init__(self):
pass
ab = A.B()
如何获得ab 的全名?我希望得到像A.B 这样的结果。
【问题讨论】:
-
为什么要嵌套类?你要这个名字干什么?您要解决的实际问题是什么?
-
我最强烈的理由之一是展示模块的良好实践。例如,我有一个类是所有模块的信封。我使用它是因为 python 对模块没有完美的解决方案。第二个原因是更好地分解问题。
-
这不是一个很好的理由; Python 确实 有一个模块解决方案,它是错误的模块。包含
__init__.py的文件或目录就是模块。您不必将所有内容都包装在类中,这不是 Java。也许你应该问那个问题。 -
好的做法是:不要嵌套类。几乎总是有另一种更好的方法来做你正在做的任何事情。
标签: python class python-3.x