Почему нельзя передать аргументы 'parent' и 'tag' как kwargs в фабричную функцию SubElement из xml.etree.ElementTree? - PullRequest
0 голосов
/ 22 ноября 2018

Я использую Python 3.6.5.Что работает:

from xml.etree.ElementTree import Element, SubElement
root = Element("root")
SubElement(root, "sub")

, что нет:

from xml.etree.ElementTree import Element, SubElement
root = Element("root")
SubElement(parent=root, tag="sub")

Таким образом, единственная разница заключается в передаче parent и tag в качестве аргументов ключевых слов (с правильными ключевыми словами, обратите внимание),Также посмотрите на трассировку стека:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: SubElement() takes at least 2 arguments (0 given)

Как на Земле было дано 0 аргументов ?

Посмотрите на источник для SubElement: строки 443: 459 не поразили меня никакими откровениями.Как вы можете видеть, два позиционных параметра SubElement действительно называются parent и tag.

Неужели у нас возникли мысли о достоверности этого конкретного кусочка Рэймонда Хеттингера?советы?

...