У меня есть функция, параметр которой должен быть целое число или строка.
from typing import int,str
def MyFunc(arg:int) -> None:
print(arg)
но я хочу знать, как написать, чтобы пользователь arg мог быть как int, так и str?
У меня есть функция, параметр которой должен быть целое число или строка.
from typing import int,str
def MyFunc(arg:int) -> None:
print(arg)
но я хочу знать, как написать, чтобы пользователь arg мог быть как int, так и str?
Прежде всего, я не думаю, что вам нужно использовать импорт, поскольку int
и str
являются базовыми типами.
Кроме того, моим решением было бы (python3)
from typing import Union
def MyFunc(arg:Union[int, str]) -> None:
print(arg)
Это стандартный подход, который также позволит вам использовать средства проверки типов, такие как mypy
. Ключевое слово Union
указывает, что ваш аргумент может быть одним из типов, заключенных в квадратные скобки.
Один из вариантов
def MyFunc(arg:"int or str") -> None:
print(arg)
Другой вариант
def MyFunc(arg:[int,str]) -> None:
print(arg)
def MyFunc(arg: list) -> None
- person Ilya Stokolos; 10.06.2020
print
иinput
. - person William Brochensque junior   schedule 10.06.2020