Mam funkcję, która przyjmuje argument, który może być pojedynczą lub podwójną pozycją:
def iterable(arg)
if #arg is an iterable:
print "yes"
else:
print "no"
po to aby:
>>> iterowalne (("f", "f"))
tak
>>> iterowalne (["f", "f"])
tak
>>> iterowalne ("ff")
Nie
Problem polega na tym, że ciąg jest technicznie iterowalny, więc nie mogę po prostu złapać ValueError podczas próby arg[1]. Nie chcę używać isinstance (), ponieważ to nie jest dobra praktyka (a przynajmniej tak mi powiedziano).