I've actually found unicode_literals useful in getting code to be Python 2/3-compatible. I try to use a Python 3-like model of always using unicode for text data and only using str for binary data, and unicode_literals helps achieve that, since most string literals are meant to be text, not binary data. The issue with functions like getattr is annoying, but in my experience it's not a common problem (I don't often call getattr() with a string literal as an argument).
2016-12-16 14:56 GMT-08:00 Raymond Hettinger <raymond.hettin...@gmail.com>: > > > On Dec 16, 2016, at 11:24 AM, Guido van Rossum <gu...@python.org> wrote: > > > > I am beginning to think that `from __future__ import unicode_literals` > does more harm than good. I don't recall exactly why we introduced it, but > with the restoration of u"" literals in Python 3.3 we have a much better > story for writing straddling code that is unicode-correct. > > > > The problem is that the future import does both too much and not enough > -- it does too much because it changes literals to unicode even in contexts > where there is no benefit (e.g. the argument to getattr() -- I still hear > of code that breaks due to this occasionally) and at the same time it > doesn't do anything for strings that you read from files, receive from the > network, or even from other files that don't use the future import. > > > > I wonder if we can add an official note to the 2.7 docs recommending > against it? (And maybe even to the 3.x docs if it's mentioned there at all.) > > +1 Leaving it in place will likely cause more problems than it solves, so > I think your suggest is a net win even if there is some bit of disruption. > Also, as far as I can tell, the adoption rate of Python 3.2 was very low. > Python 3's story didn't become attractive until later. > > > Raymond > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/ > jelle.zijlstra%40gmail.com >
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com