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:
<code>def iterable(arg) if #arg is an iterable: print "yes" else: print "no" </code>
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).