【问题标题】:Is it pythonic to have separate files instead of classes?有单独的文件而不是类是pythonic吗?
【发布时间】:2018-10-04 02:37:38
【问题描述】:

我正在做一个小项目,我打算将其分散在单独的 python 文件中以隔离单独的模块。其中一些模块只需要具有需要在整个程序中访问的静态信息,还有一些具有实用功能(例如,用于绘制对象的几何库)。

如果我只是创建一个单独的 .py 并添加常量和方法而无需定义类,那会是 Pythonic 吗?这似乎比创建一个类要简单得多。

【问题讨论】:

  • 为什么不呢? Python 不是 Java,它不坚持面向对象的纯粹性(然后忽略它并包含任何人无法复制的特殊原语)。如果不需要类,请不要使用类。

标签: python class module


【解决方案1】:

仅在需要时才创建一个类 - 面向对象编程并不是解决所有问题的方法。但是,如果您发现自己对单一脚本感到不知所措,则将其分解为不同的逻辑部分可能是有意义的。例如,配置文件可以保存所有变量和“静态信息”。通过导入和file.open 循环轻松访问它。如果您发现方法太多并且可以很容易地从逻辑上进行划分,请做任何感觉正确的事情。归根结底,您可以通过两种方式获得一个工作计划——这关乎舒适和时间。平衡两者,看看你会得到什么。在你觉得这是个问题之前不要担心。祝你的项目好运!

【讨论】:

    【解决方案2】:

    我认为,如果您有多个常量需要在多个文件之间共享,那么在它们自己的文件中定义它们是一个不错的解决方案。 This post 证实了这个想法并向您展示了如何处理导入。仅包含功能的实用程序文件也很常见。 This post 讨论了类和仅函数选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多