Мой вопрос связан с тем, как определить необязательный параметр, который может быть разных типов (полиморфный).Как определить полиморфный необязательный параметр python?
Я пытался определить обертку вокруг functools.reduce
в python 3.x и заметил, что существует необязательный параметр ,[initializer]
. Я попытался определить один и тот же необязательный параметр, но не знаю, как это сделать. Search around показывает, что я могу вообще сделать что-то вроде:
def info(object, spacing=10, collapse=1):
Но в этом контексте initializer
может быть много различных типов с различными значениями по умолчанию. Например, это может быть 0
для добавления (как функция уменьшения) и ""
(пустая строка) для конкатенации строк. Как определить этот параметр?
Это не редкость (но в целом не рекомендуется) ожидать и обрабатывать различные типы аргументов в Python, например. 'if type (var) - str: do_stuff'. – leongold
'Это не редкость (но обычно не рекомендуется) ожидать и обрабатывать различные типы аргументов в Python' @ zamuz. Но это стандартная функция библиотеки python (сокращение). – tinlyx
не могли бы вы прояснить, чего вы пытаетесь достичь? Тип параметра определяется во время выполнения (т. Е. Вы никогда не определяете тип параметра). Было бы полезно увидеть фактический результат по сравнению с ожидаемым – ProfHase85