擅长:python、mysql、java
<p>只向<code>President()</code>传递一个参数,即列表</p>
<pre><code>['FDR', False, 4, 1933]
</code></pre>
<p>如果要将该列表中的项作为单独的参数传递,请按如下方式执行:</p>
^{pr2}$
<p>正如panicy上校指出的,在您的例子中,参数解包的使用有点毫无意义——假设您的实际用例更复杂,并且证明了它的使用是合理的。在</p>
<p><strong>更新</strong>:</p>
<p>您的评论实际上是一个后续问题,最好单独提问,但是:</p>
<pre><code>def main():
testdata = {
"president": "FDR",
"alive": False,
"terms": 4,
"firstelected": 1933,
}
apresident = President(**testdata)
anotherpresident = President(president="BHO", terms=2, firstelected=2008)
print apresident
print apresident.alive
print anotherpresident
print anotherpresident.alive
class President:
id_iter = itertools.count(1)
#def __init__(self, president, alive, terms, firstelected):
def __init__(self, **kwargs):
self.id = self.id_iter.next()
self.president = kwargs.get("president", None)
self.alive = kwargs.get("alive", True)
self.terms = kwargs.get("president", 1)
self.firstelected = kwargs.get("president", None)
</code></pre>
<p>这也展示了如何定义默认值。在</p>