Python: make private class methods always static if possible?
我知道,在其他语言(C语言,Java,…)中,如果可能的话,使用"私有"方法(使用两个下划线)是很好的。对python有什么建议吗?
我不想让它们成为静态的,因为它们只是私有的(我不想将它们移到实用程序类中,而且它们与性能无关),并且我想避免将代码与装饰器混淆。另一方面,静态代码分析器告诉我这样做(我想用"Python式"的方式编写代码)。
简而言之,您几乎不应该在Python中使用静态方法。它们是错误添加的。
I meant to implement class methods but at first I didn't understand
them and accidentally implemented static methods first.
- Guido van Rossum
您几乎可以用类方法或实例方法实现您想要的。
更多关于为什么Python中的静态方法在这里基本上是无用的。
在Python中没有"private method"这样的东西,所有方法都是公共的。唯一告诉您一个方法不打算公开使用的是它的名称以下划线开头。
如果您的方法没有引用EDOCX1(类的一个实例)中的任何内容,那么您可以使它们成为静态的,以优化应用程序的内存使用。