Python PEP8 命名“私有”静态方法的最佳实践

问题描述 投票:0回答:1

最近,与我一起工作的一些 Python 专家进行了一次有趣的讨论,讨论我们是否应该使用下划线作为前缀来命名 Python 静态方法,例如:(_mystaticmethod)。 下面是一个例子:

(选项1)

class MyClass:

    @staticmethod
    def _my_private_static_method(...):
        pass

    @staticmethod
    def my_public_static_method(...):
        MyClass._my_private_static_method(...)

(选项2)

class MyClass:

    @staticmethod
    def my_private_static_method(...):
        pass

    @staticmethod
    def my_public_static_method(...):
        MyClass.my_private_static_method(...)

基于 PEP8 文档,我找不到任何关于“静态”类和方法是否正确的指导,使用“_”(下划线)作为前缀来指示该方法应该是“私有”实际上是一个很好的做法'.

所以问题是最佳实践是什么? (选项 1)或(选项 2),如果可能的话提供一些参考就好了。

obs.:是的,我确实知道 Python 中不存在私有方法之类的东西,除了使用 _ 向开发人员提供提示的部分之外。

python coding-style pep8 pep
1个回答
0
投票

基本上这取决于,如果您将静态方法保持私有并且不打算供外部使用,那么您应该使用下划线“_”作为前缀以使其在类中保持私有。

但是如果您不想将静态方法保持私有(供外部使用),那么您不应该使用下划线。

© www.soinside.com 2019 - 2024. All rights reserved.