首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python - 覆盖下划线方法(单_)的最佳方法?

Python - 覆盖下划线方法(单_)的最佳方法?
EN

Stack Overflow用户
提问于 2018-09-21 07:06:27
回答 1查看 0关注 0票数 0

所以我的理解是,_privateMethod()通常不应该直接访问/调用类似的方法。但是,由于我需要实现的东西,我需要覆盖我的继承PrivateMethodClass,如:

代码语言:javascript
复制
class MyClass(PrivateMethodClass): 

   def _privateMethod(): 
        #add additional functionality 

我必须扩展这种方法的功能,但我的问题是,这是不好的做法,如果是这样,有什么方法可以做到更干净/更pythonic /更好?

EN

Stack Overflow用户

发布于 2018-09-21 16:24:13

“技术上”Python的约定实际上是私有方法的2 __下划线。我只从类中的另一个方法调用私有方法...而不是从客户端调用。

编辑:仅供参考,根据您使用的是Python 2还是Python 3,超级函数可能略有不同.Python 2.7如下所示......

我不确定我是否理解你的问题..但是当我覆盖父类的方法时,我使用超级函数:

代码语言:javascript
复制
class Example(object):
    def __init__(self, constructor_data):
        self.constructor_data = constructor_data

    def__private_method(self):
        # do something


class SubExample(Example):
    def __init__(self, constructor_data):
        super(SubExample, self).__init__(constructor_data)

    def__private_method(self):
        # do something
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档