【发布时间】:2017-11-10 16:49:06
【问题描述】:
如果我在父类中定义__getstate__() 和__setstate__(),子类可以继承这些方法吗? this SO answer 中有一些相关的讨论,但仅限于前面带有双下划线 (dunder) 的方法。
一些额外的信息:
- 我这样做是为了定义我的类的序列化(酸洗)行为。
- Python 2.7
【问题讨论】:
-
@MSeifert 类私有名称(即
__*)被重新编写,以使用错位形式来帮助避免基类和派生类的“私有”属性之间的名称冲突。我不确定 dunder dunder 方法是否属于这条船。 -
不,他们没有——因为他们没有归类为“私有属性”(这些被定义为“至少两个前导下划线,最多一个尾随下划线”):见docs.python.org/2/tutorial/…
标签: python inheritance