jak powiedzieć zmienną jest iterowalny, ale nie łańcuch
Mam funkcję, która przyjmuje argument, który może być pojedynczym przedmiotem lub podwójnym przedmiotem:
def iterable(arg)
if #arg is an iterable:
print "yes"
else:
print "no"
po to aby:
>>> iterable( ("f","f") ) yes >>> iterable( ["f","f"] ) yes >>> iterable("ff") no
Problem polega na tym, że łańcuch jest technicznie powtarzalny, więc nie mogę po prostu złapać ValueError podczas próbyarg[1]
. Nie chcę używać isinstance (), ponieważ nie jest to dobra praktyka (tak mi się mówi).