加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python样式问题:支持类作为内部类?

发布时间:2020-12-20 11:16:44 所属栏目:Python 来源:网络整理
导读:我喜欢使用语言中内置的结构来组织我的代码.但有一种情况我不能保持一致,仅仅是因为我没有看到明确的最佳方式.它是关于支持类,即由另一个类在内部专门使用的类:我是将它们作为内部类还是单独的类. 内部课程: class Complicated: class Utility1: pass clas
我喜欢使用语言中内置的结构来组织我的代码.但有一种情况我不能保持一致,仅仅是因为我没有看到明确的最佳方式.它是关于支持类,即由另一个类在内部专门使用的类:我是将它们作为内部类还是单独的类.

内部课程:

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读