Code: Select all
def my_method(arg: Union[str, list[str]]) -> str:
try:
return arg.lower()
except AttributeError:
return arg[0].lower()
< /code>
Ich könnte drehen, um die Typen explizit zu überprüfen, und das erfüllt die Pylanz. Dies scheint jedoch nicht pythonisch zu sein (besser, um Vergebung zu bitten als die Erlaubnis) und es wird in einigen Fällen auch komplizierter. Wenn Sie beispielsweise mehrere mögliche Eingangstypen hatten und mehr als 1 auf die gleiche Weise gehandhabt werden kann, müssten Sie auf jeden Fall explizit überprüfen. < /P>
def my_other_method(arg: Union[str, list[str]]) -> str:
if isinstance(arg, str):
return arg.lower()
else:
return arg[0].lower()