所以我的理解是,_privateMethod()
通常不应该直接访问/调用类似的方法。但是,由于我需要实现的东西,我需要覆盖我的继承PrivateMethodClass
,如:
class MyClass(PrivateMethodClass):
def _privateMethod():
#add additional functionality
我必须扩展这种方法的功能,但我的问题是,这是不好的做法,如果是这样,有什么方法可以做到更干净/更pythonic /更好?
发布于 2018-09-21 16:24:13
“技术上”Python的约定实际上是私有方法的2 __下划线。我只从类中的另一个方法调用私有方法...而不是从客户端调用。
编辑:仅供参考,根据您使用的是Python 2还是Python 3,超级函数可能略有不同.Python 2.7如下所示......
我不确定我是否理解你的问题..但是当我覆盖父类的方法时,我使用超级函数:
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
https://stackoverflow.com/questions/-100006152
复制相似问题