alist = []
def show(*args, **kwargs):
alist.append(*args, **kwargs)
print(alist)
>>> show('tiger')
['tiger']
>>> show('tiger','cat')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in show
TypeError: append() takes exactly one argument (2 given)
>>> show('tiger','cat', {'name':'tom'})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in show
TypeError: append() takes exactly one argument (3 given)
由于alist的追加方法只接受一个参数,为什么不检测方法show的定义中的线alist.append(*args, **kwargs)
上的语法错误?list.append是如何工作的?
因为这不是蟒蛇是如何工作的..它没有任何语法错误,功能就是这样不能接受超过1个参数。尝试list.extend – user2682863
翻译者应该如何知道在你打电话给show的时候'alist'会是什么? – TigerhawkT3
你是不是故意问为什么show('tiger')没有错误,但是show('tiger','cat')'? –