В Python принято использовать обработку исключений, чтобы решить, какой путь кода выбрать; проверка точного типа объекта (с помощью isinstance ()) для определения того, что с ним делать, не рекомендуется.
Например, скажем, что вы хотите, чтобы, если это строка, выведите ее в «case title», а если это объект, вы хотите вызвать для него определенный метод. Итак:
try:
# is it an object with a particular method?
lists[listname][0].particularMethod()
except AttributeError:
# no, it doesn't have particularMethod(),
# so we expect it to be a string; print it in title case
print lists[listname][0].title()