Should we use python 2 or python 3 for new application development?
We should use python 3 for upcoming application development, because bug fixes, releases and offical support for python 2 will not be there after January 2020.
In january 2020, python 2 will be EOL (End of life0 status and no further updates.
So going forward, we can recommend learning and teaching only python 3.
Please check official website for more details
If you want to maintain python 2 application, please refer this link will be helpful.
Python 2 is legacy and Python 3 is the current and future of the language
List of features which are only available in python 3 releases and won't be backported to the python 2:
strings are Unicode by default clean Unicode/bytes separation exception chaining function annotations syntax for keyword-only arguments extended tuple unpacking non-local variable declarations
3to2 is a project to convert python 3.x code to python 2.x code.
2to3 is a tool automatically converts the python 2.x code to python 3.x code.