web-dev-qa-db-ja.com

タイプヒントを使用して、パラメーターに複数のタイプを指定するにはどうすればよいですか?

XMLデータをstrとして受け入れるPython関数があります。

便宜上、この関数はxml.etree.ElementTree.Elementもチェックし、必要に応じて自動的にstrに変換します。

import xml.etree.ElementTree as ET

def post_xml(data: str):
    if type(data) is ET.Element:
        data = ET.tostring(data).decode()
    # ...

タイプヒントを使用して、パラメーターを2つのタイプのいずれかとして指定できることを指定できますか?

def post_xml(data: str or ET.Element):
    # ...
14
Stevoisiak

タイプが必要です nion

from typing import Union

def post_xml(data: Union[str, ET.Element]):
    ...
22
deceze