Python:如果可能,使私有类方法始终是静态的?

时间:2016-05-02 10:38:15

标签: python private static-methods

我知道在其他语言(C#JAVA,...)中使用"private"方法(使用两个下划线)static是可行的。 有没有推荐的Python?

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

2 个答案:

答案 0 :(得分:1)

简短的回答是你几乎不应该在Python中使用静态方法。他们是added by mistake

  

我的意思是实现类方法,但起初我不明白   他们首先意外地实现了静态方法。    - Guido van Rossum

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

更多关于为什么Python中的静态方法几乎无用here

答案 1 :(得分:0)

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

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