我遇到的最大问题是使用双前导下划线属性。犯罪者实际上是新的Python程序员或程序员,他们喜欢另一种语言(特别是Java,出于某种原因)。双领先下划线导致属性被名称损坏(使用当前类名),避免子类中的冲突。它经常被视为“私有”,尽管它不是。 this answer I once wrote )相同的类通常到处都是访问器(不是属性,而是直接调用的常规方法),以获取这些名称混乱的属性。最终的结果总是一个令人毛骨悚然的复杂类,无法对其进行子类化以进行专门化、错误修复、monkeypatch或测试。