python教程—是否建议在一个文件中包含多个类?(复制)-Python实用宝典

python教程—是否建议在一个文件中包含多个类?(复制)

可能的重复: 我应该在一个文件中放入多少个Python类?来自c++背景的我已经习惯了组织类,在大多数情况下,类和文件之间的比例是1:1。通过使一个文件包含一个类,我发现代码更易于导航。当我向Python作自我介绍时,我发现了许多例子,其中一个文件包含多个类。这是Python中推荐的方法吗?如果是这样,为什么?

<强>可能的重复:< /强> < br >

来自c++背景的我已经习惯了组织类,在大多数情况下,类和文件之间的比例是1:1。通过使一个文件包含一个类,我发现代码更易于导航。当我向Python作自我介绍时,我发现了许多例子,其中一个文件包含多个类。这是Python中推荐的方法吗?如果是这样,为什么?

我是否在PEP8中错过了这个约定?

回答

以下是一些可能的原因:

  1. Python并不完全基于类——Python中代码分解的自然单元是模块。模块很可能像类一样包含函数(在Python中是一类对象)。在Java中,分解的单元是类。因此,Python有一个模块=一个文件,而Java有一个(公共)类=一个文件。
  2. Python比Java更有表现力,如果您将自己限制为每个文件只有一个类(Python不会阻止您这样做),那么最终您将得到许多非常小的文件—需要跟踪的文件更多,而获得的好处却很少。

一个功能大致相当的示例:Java的log4j =>几十个文件,~8000 SLOC。Python日志=> 3个文件,~ 2800 SLOC。

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论