Следующее должно быть хорошим началом:
>>> x = (u'abc/αβγ',)
>>> S = type('S', (unicode,), {'__repr__': lambda s: s.encode('utf-8')})
>>> tuple(map(S, x))
(abc/αβγ,)
Идея состоит в том, чтобы создать подкласс юникода, который будет иметь __repr__()
больше по вашему вкусу.Как лучше всего заключить результат в кавычки, это работает для вашего примера:
>>> S = type('S', (unicode,), {'__repr__': lambda s: "'%s'" % s.encode('utf-8')})
>>> tuple(map(S, x))
('abc/αβγ',)
... но будет выглядеть странно, если в строке будет одна кавычка:
>>> S("test'data")
'test'data'