在Python中混合OOP和过程编程(或者通常混合编程样式)是不好的做法

时间:2017-11-22 17:49:42

标签: python oop procedural-programming

我一直在研究一个解决魔方的方案,我发现自己不确定几件事。首先,如果我有一堆具有一般应用程序的功能(例如,清除屏幕),并且不知道我是否应该将它们更改为类内的方法。我的部分代码是OOP,另一部分是程序性的。这违反了PEP8 /这是一种不好的做法吗?我想从更广泛的角度来看,混合两种编程风格(OOP,功能,程序等)是不是一个坏主意?

1 个答案:

答案 0 :(得分:3)

我会说这一点都不错,如果问题可以通过这种方式更轻松地解决,并且您的语言支持它。

编程范例只是解决问题的不同方法:

  • 程序说“解决这个问题需要采取哪些步骤?”
  • 功能说:“应该改变什么样的价值,如何改变它们来解决这个问题呢?”
  • OOP说“哪些对象需要彼此交互,以及需要在它们之间发送哪些消息来解决这个问题?”

当您将问题分成较小的问题时,您可能会发现问题的某些部分可以通过功能方式更容易地解决,而其他部分则是程序性的。完全有可能遇到这样的问题。

Python主要是程序性的,非常OOP,并且具有功能特性(即functools)。它不像Haskell那样功能,不像C#那样具有OOP功能,但它允许您在某种程度上使用这些范例。