Python:尽可能使私有类方法始终保持静态?

Python:尽可能使私有类方法始终保持静态?,python,private,static-methods,Python,Private,Static Methods,我知道如果可能的话,在其他语言(,…)中创建方法(使用两个下划线)是一种很好的风格。 对Python有什么建议吗 我不想让它们成为静态的,因为它们只是私有的(我不想将它们移动到实用程序类中,它们与性能无关),而且我希望避免代码中的装饰程序弄乱我的代码。另一方面,静态代码分析器告诉我这样做(我想以“Pythonic”的方式编写代码) 在python中没有“私有方法”这样的东西,所有方法都是公共的。唯一告诉您方法不打算公开使用的是,它的名称以下划线开头 如果您的方法没有引用来自self(类的实例)的

我知道如果可能的话,在其他语言(,…)中创建方法(使用两个下划线)是一种很好的风格。 对Python有什么建议吗


我不想让它们成为静态的,因为它们只是私有的(我不想将它们移动到实用程序类中,它们与性能无关),而且我希望避免代码中的装饰程序弄乱我的代码。另一方面,静态代码分析器告诉我这样做(我想以“Pythonic”的方式编写代码)

在python中没有“私有方法”这样的东西,所有方法都是公共的。唯一告诉您方法不打算公开使用的是,它的名称以下划线开头


如果您的方法没有引用来自
self
(类的实例)的任何内容,那么您可以将它们设置为静态,以优化应用程序的内存使用。

简单的回答是,您几乎不应该在Python中使用静态方法。是的

我本想实现类方法,但一开始我不明白 然后意外地首先实现了静态方法。 -Guido van Rossum

使用类方法或实例方法几乎完全可以实现所需的功能


更多关于为什么Python中的静态方法大部分是无用的。

感谢您对私有和公共方法的评论。因此,我澄清了这个问题。你想要达到什么目标还不是很清楚。如果您不想使这些方法成为静态的,而不想忽略静态代码分析器的警告,那么我个人的观点是,除非需要,否则不要使用静态类方法,无论是私有的还是公共的。保持简单。除非它是一个非常小的方法,经常被调用,并且被证明会显著降低整个程序的速度,否则优化每一点都是没有意义的。非常感谢这个答案(包括有用的链接)!