[Python-ideas] Smoothing transition to Python 3
Steven D'Aprano
steve at pearwood.info
Sat Jun 4 03:31:13 EDT 2016
On Fri, Jun 03, 2016 at 06:17:30AM -0700, Neil Schemenauer wrote:
> Here is a thought that occured to me. Create a patched version of
> Python 3.x, making a stepping stone version for people porting from
> Python 2. I know this would have been useful for me. Specific
> changes that would be helpful, all generating warnings so code can
> be eventually fixed:
>
> - comparision with None, smaller than all other types
Sometimes I think that would be useful as a feature, not just for 2.x
compatibility...
> - comparision of distinct types: use Python 2 behavior (i.e. order
> by type name)
> - mixing of unicode strings with byte strings: decode/encode
> using latin-1
These would be a reversion to harmful behaviour and I guarantee they
would be abused.
But I don't understand why you want 3.x to raise a warning? It will
raise an exception, which you then fix. How is this better than a
warning that you will ignore?
If this is purely a budget issue ("my boss has given me six weeks to
port, but it will take eight, however if we can get warnings and
suppress them, we'll squeeze in under budget") then you have my sympathy
but not much else.
> - dict objects: make keys() items() values() return special sequence
> that warns if iterated over multiple times or indexed as sequence
This is surely unnecessary -- you just need to mechanically change your
dict iteration to use dict.viewkeys() etc in Python 2, fix any
problems, then mechanically remove the "view" in Python 3.
--
Steve
More information about the Python-ideas
mailing list