问题
I have a Python function which accepts XML data as an str
.
For convenience, the function also checks for xml.etree.ElementTree.Element
and will automatically convert to str
if necessary.
import xml.etree.ElementTree as ET
def post_xml(data: str):
if type(data) is ET.Element:
data = ET.tostring(data).decode()
# ...
Is it possible to specify with type-hints that a parameter can be given as one of two types?
def post_xml(data: str or ET.Element):
# ...
回答1:
You want a type union:
from typing import Union
def post_xml(data: Union[str, ET.Element]):
...
来源:https://stackoverflow.com/questions/48709104/how-do-i-specify-multiple-types-for-a-parameter-using-type-hints