Я только что наткнулся на конструкцию для d3, где первый параметр - это карта, а остальные - это распакованные ключи, значения.
>>> d1 = dict(a=1, b=2, c=3)
>>> d2 = dict(d=4, e=5)
>>> d3 = dict(d1, **d2)
>>> d3
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
Поэтому я решил посмотреть, что произойдет, если я уйдуоператор распаковки.
>>> d_bad = dict(d1, d2)
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: dict expected at most 1 arguments, got 2
Моя первая мысль была о том, что dict () может принимать более одного аргумента, так почему именно эта ошибка?Во-вторых, я жаловался на более чем один аргумент карты конкретного типа, следовательно, TypeError
.Но разве это не должно так говорить?На первый взгляд, текст сообщения об ошибке просто запутан или даже неверен.Или есть причина, почему это не может быть яснее?