擅长:python、mysql、java
<p>您的<code>__init__</code>中出现了问题:</p>
<pre><code> def __init__(self, *component, **kwargs):
self.name = kwargs.get('name')
self.component = component
self.lines = kwargs.get('lines', [])
</code></pre>
<p>会有用的。您需要<code>lines</code>和<code>name</code>位于收集组件的<code>*</code>项之后。你知道吗</p>
<p>在python2中,不能以<code>*</code>命名属性,因此需要改用<code>**kwargs</code>和<code>get('name')</code>以及<code>get('lines')</code>中的<code>kwargs</code>。你知道吗</p>
<p><code>get</code>如果不提供默认值,只返回<code>None</code>,因此在这里可以得到<code>self.name = None</code>。如果要指定默认名称,可以</p>
<pre><code> self.name = kwargs.get('name', 'defaultname')
</code></pre>
<p>就像我为<code>lines</code>所做的那样。你知道吗</p>