Python的 – 我应该把我的帮助函数内部或外部的类?

在Python中,如果一个类的某些方法需要一个辅助函数,但是辅助函数本身没有在类中使用任何东西,我应该把辅助函数放在类内还是外?

我试图把它放在里面,但PyLint抱怨说这个函数可能已经放在了外面。

@Karl:

这个类是一个软件升级器,如果该文件夹还不存在,辅助函数会创build一个新的文件夹。 这个类在一个模块中,几乎只有这个类的代码。 其他课程可能会在稍后添加。

在决定把助手function放在哪里的时候,我问的问题是“这只是为了这个class级吗?” 如果可以在其他地方帮助,那么它在模块级别; 如果它确实只用于这个类,那么它会以staticmethod (不需要类数据来完成它的工作)或classmethod (使用一些类而不是实例数据来完成它的工作)进入类。

另一个python代码检查器是pyflakes 。

辅助函数可能更适合模块级而不是类。

如果您不同意这种情况,那么您可以在类中的函数上使用staticmethod装饰器 。 简而言之,一个静态方法在同一个类的对象实例之间performance相同。 它不依赖于实例数据。

由于这个原因, staticmethod装饰器在函数上呈现行为,使得它不会像文档中所述那样采用隐式的第一个参数(通常是self )。