У меня есть функция, в которой мне нужно сгенерировать разные выходные строки для другой вызываемой мной программы, в зависимости от того, какой тип она хочет.
В основном вызываемая программа требуется аргумент командной строки, сообщающий, с каким типом он был вызван.
К счастью, я нашел этот ответ на SO о том, как проверить переменную на тип. Но я заметил, что люди также возражали, что проверка типов выдает «не объектно-ориентированный» дизайн. Итак, есть ли другой способ, предположительно более "объектно-ориентированный" способ справиться с этим без явной проверки типа?
Код, который у меня сейчас есть, выглядит примерно так:
def myfunc(val):
cmd_type = 'i'
if instance(val, str):
cmd_type = 's'
cmdline = 'magicprogram ' + cmd_type + ' ' + val
Popen(cmdline, ... blah blah)
...
, который отлично работает, но я просто хотел знать, есть ли какой-то метод, о котором я не знаю.