2024-04-28 09:58:09 发布
网友
在Python中,如果类的某些方法需要helper函数,但是helper函数本身在类中不使用任何东西,我应该将helper函数放在类的内部还是外部?
我试着把它放进去,但派林抱怨说这个函数本来可以放在外面。
@卡尔:
该类是一个软件升级程序,如果该文件夹尚不存在,helper函数将创建一个新文件夹。到目前为止,类在一个模块中几乎只包含该类的代码。以后可能会添加其他类。
助手函数可能更适合模块级而不是类。
如果您不同意这种情况,则可以在类内的函数上使用staticmethod decorator。简单地说,静态方法在同一类的对象实例化之间的行为是相同的。它不依赖实例数据。
出于这个原因,staticmethoddecorator在函数上呈现行为,这样它就不会采用文档中所述的隐式第一个参数(通常是self)。
staticmethod
self
当决定将helper函数放在何处时,我问的问题是:“它只针对这个类吗?”如果它可以在其他地方提供帮助,那么它就进入模块级;如果它确实只针对这个类,那么它就进入到带有staticmethod(不需要类数据来完成它的工作)或classmethod(使用一些类而不是实例数据来完成它的工作)的类中。
classmethod
另一个python代码检查器是pyflakes。
助手函数可能更适合模块级而不是类。
如果您不同意这种情况,则可以在类内的函数上使用staticmethod decorator。简单地说,静态方法在同一类的对象实例化之间的行为是相同的。它不依赖实例数据。
出于这个原因,
staticmethod
decorator在函数上呈现行为,这样它就不会采用文档中所述的隐式第一个参数(通常是self
)。当决定将helper函数放在何处时,我问的问题是:“它只针对这个类吗?”如果它可以在其他地方提供帮助,那么它就进入模块级;如果它确实只针对这个类,那么它就进入到带有
staticmethod
(不需要类数据来完成它的工作)或classmethod
(使用一些类而不是实例数据来完成它的工作)的类中。另一个python代码检查器是pyflakes。
相关问题 更多 >
编程相关推荐