我有一个场景,我有多个同名的嵌套类,并且对其进行调试使我发疯.
这是一个草图:
class Reference(object):
# common functionality here
class Fruit(object):
# common functionality here
class Apple(Fruit):
class Ref(Reference):
# specific functionality here
class Orange(Fruit):
class Ref(Reference):
# specific functionality here
# like 6 more fruits
我的问题是:任何列出引用对象的类名的操作都将其显示为mymodule.Ref,而不是mymodule.Apple.Ref,这将大有帮助.
有没有办法告诉Python为嵌套类的实例使用更好的名称?默认使用__str__,也可以使用__type__等.
奖金详情:
>使类结构扁平化和/或使用唯一名称可以做到这一点,但是(a)增加了名称空间的混乱,并且(b)Fruit中的某些位使用cls.Ref / self.Ref.次优.
>如果重要的话,它是旧版2.7研究系统.实际上,如果3解决了这个问题,那将是我提升我们地位的一大堆有用的补充…
最佳答案
实际上,Python 3确实用
__qualname__
修复了此问题.该升级了.
https://www.python.org/dev/peps/pep-3155/#example-with-nested-classes
原文地址:https://www.jb51.cc/python/533234.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。