擅长:python、mysql、java
<pre><code>def append(self, item):
self.list.append(item)
def extend(self, item):
self.list.extend(item)
</code></pre>
<p>底线是:不要有一种方法同时做到这两件事。它会使你的方法变得不那么有用,反而会变得更有用。它也更难测试和维护。另外,你的函数的用户已经知道她是想使用append还是extend,所以通过提供一个单一的方法,你就放弃了你的调用者/用户已经知道的信息。在</p>
<p>另一种写入方法是使用打包/解包参数语法:</p>
^{pr2}$
<p>这样您就可以将方法调用为</p>
<pre><code>x.append('single item')
</code></pre>
<p>或者</p>
<pre><code>x.append(*list_of_items)
</code></pre>