我喜欢使用语言中内置的结构来组织我的代码.但有一种情况我不能保持一致,仅仅是因为我没有看到明确的最佳方式.它是关于支持类,即由另一个类在内部专门使用的类:我是将它们作为内部类还是单独的类.
内部课程:
class Complicated:
class Utility1:
pass
class Utility2:
pass
pass
单独的课程:
class Complicated:
pass
class Utility1:
pass
class Utility2:
pass
内部类具有在使用它们的唯一类中作用域的优点.但问题是由于缩进,我得到的代码空间更少.
外课没有优势也没有劣势.每当我写支持课时,我都厌倦了总是花费精力,想知道这个愚蠢的问题.
我的问题是,任何拥有丰富python经验的人是否可以建议是否有最佳实践?即使答案是“它取决于”,如果它有一个比我更有经验的人,我们将不胜感激.
最佳答案 我会建议
class Complicated:
pass
class _Utility1:
pass
class _Utility2:
pass
并将所有这些放在自己的模块中.前导_表示实用程序类仅供内部使用(对于它的内容,它们不会从模块导入导入*;但我不喜欢这样).
编辑:引自PEP 8:
Classes for internal use have a leading underscore in addition.