簡體   English   中英

如何解釋Python文檔中的“額外”

[英]How to interpret “extra” in Python documentation

在文檔中,給出了以下行來描述如何啟動類對象

class xml.etree.ElementTree.Element(tag, attrib={}, **extra)

在那之下,有一條線說

extra包含作為關鍵字參數給出的其他屬性。

我一直在試驗,但我不確定這究竟是什么意思。 例如,我想添加text屬性,但它無法正常工作。 我的論點似乎是轉向attrib屬性。

這是示例代碼,以突出我的問題

>>> import xml.etree.ElementTree as ET
>>> tree = ET.Element('Level 0',text = 'test text')
>>> tree.attrib #This should be empty
{'text': 'test text'}
>>> tree.text #test text should be here
>>> 

以下是文檔的鏈接以供參考。

http://docs.python.org/3.3/library/xml.etree.elementtree.html#element-objects

這是完全正確的。 XML標記屬性存儲在Element.attrib結構中。

然后,當您將ElementTree結構輸出到XML時, .attrib值將用於生成XML屬性:

>>> elem = ET.Element('Level0', text='test text')
>>> ET.tostring(elem)
'<Level0 text="test text" />'

函數簽名中的**keywords語法捕獲函數調用的其他關鍵字參數; 您可以傳入顯式字典也可以使用關鍵字參數來定義屬性。 請參閱功能定義文檔

因此,以下兩種形式是等效的(對於ElementTree.Element()調用):

ET.Element('Level0', text='test text')

ET.Element('Level0', {'text': 'test text'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM