擅长:python、mysql、java
<p>假设您不打算在<code>__init__</code>之外添加更多变量,可以冻结父级的<code>__init__</code>方法中的变量列表:</p>
<pre><code>def __init__(self, id, name):
self.id = id
self.name = name
self.__parent_vars = dict(vars(self)) # make a copy
</code></pre>
<p>然后使用这个字典,它只包含初始化父类时定义的变量:</p>
<pre><code>def print_values(self, path):
print(self.__parent_vars)
</code></pre>
<p>测试:</p>
<pre><code>c = Child(12,"Foo","whatever",34)
c.print_vars()
</code></pre>
<p>我得到:</p>
<pre><code>{'id': 12, 'name': 'Foo'}
</code></pre>