Stephen Tucker <stephen_tuc...@sil.org> writes: > I am using IDLE, Python 2.7.2 on Windows 7, 64-bit.
Python 2 is not as good at Unicode as Python 3. In fact, one of the major reasons to switch to Python 3 is that it fixes Unicode behaviour that was worse in Python 2. > I have four questions: > > 1. Why is it that […] > print (unicode_object, another_unicode_object) > displays non-ASCII characters in the unicode objects as escape sequences > (as repr() does)? Python 3 behaves correctly for that:: >>> foo = "I ♡ Unicode" >>> bar = "I ♥ Unicode" >>> (type(foo), type(bar)) (<class 'str'>, <class 'str'>) >>> print(foo) I ♡ Unicode >>> print(bar) I ♥ Unicode >>> print((foo, bar)) ('I ♡ Unicode', 'I ♥ Unicode') > 2. Given that this is actually *deliberately *the case (which I, at > the moment, am finding difficult to accept) I'm pretty sure it is not, since this is corrected in Python 3. > what is the neatest (that is, the most Pythonic) way to get non-ASCII > characters in unicode objects in tuples displayed correctly? Switch to Python 3 :-) -- \ “Timid men prefer the calm of despotism to the boisterous sea | `\ of liberty.” —Thomas Jefferson | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list