Consequently, why is Python 3 better than 2?
There is better Unicode support in Python 3. In Python 3, text strings are Unicode by default. In Python 2, strings are stored as ASCII by default–you have to add a “u” if you want to store strings as Unicode in Python 2.
Likewise, can you have Python 2 and 3 at the same time? Yes you can . But, you need to set different environment variables for each of the version. If you don't want to do this,install anaconda distribution of python and create virtual env for different versions. How can I run Python 2.7 code if I have Python 3.4 installed?
Also to know, why is Python 2 still used?
That's because python 2.7 was essentially back porting all python 3 features. Fortunately this stopped 1.5 years ago, so now the incentive is growing. It's still the default 'python' binary in most nix distributions(at least the ones I use). Having python point to python3 would break libraries that use 2.
Which version is best for Python?
For the sake of compatibility with third-party modules, it is always safest to choose a Python version that is one major point revision behind the current one. At the time of this writing, Python 3.8. 1 is the most current version. The safe bet, then, is to use the latest update of Python 3.7 (in this case, Python 3.7.
