我什么时候应该使用一个类,什么时候应该使用函数?

时间:2012-07-04 15:12:36

标签: python

何时使用的函数比函数更有用?我应该知道有什么硬性或快速的规则吗?它是语言依赖的吗?我打算为Python编写一个脚本,它将解析不同类型的json数据,我的直觉是我应该使用一个类来执行此操作,而不是函数。

5 个答案:

答案 0 :(得分:9)

当您的例程需要保存状态时,您应该使用一个类。否则一个函数就足够了。

答案 1 :(得分:3)

首先,我认为这不依赖于语言(如果语言允许您定义类和函数)。

作为一般规则,我可以告诉你,一个类将自己包含在行为中。因此,如果您必须实现某种类型的服务(具有不同的功能),那么您正在寻找一个类。
此外,类(比如更正确的对象)具有状态,您可以实例化更多类的出现(因此不同的对象具有不同的状态)。

同样重要的是,一个类可以被挖掘出来:所以你只能通过很小的改动来覆盖你的函数的特定行为。

答案 2 :(得分:1)

当你有状态时的课程 - 在整个电话中应该持久的东西

其他情况下的功能

异常:如果你的类只存储了几个值并且除__init__之外还有一个方法,你应该更好地使用函数

答案 3 :(得分:1)

对于任何非平凡的事情,你应该使用一个类。我倾向于将所有“自由浮动”函数限制为utils.py文件。

答案 4 :(得分:1)

依赖于语言。

有些语言,比如Java,坚持要为所有内容使用类。根本没有独立功能的概念。

Python不是那样的。完全可以 - 事实上建议 - 单独定义功能,相关功能可以在模块中组合在一起。正如其他人所说的那样,你真正想要一个Python类的唯一时间就是你需要保持状态 - 即将数据封装在对象中。