Friday, 3 February 2017

AWESOME FEATURES OF THE LATEST PYTHON VERSION



Python 2.7.13 is the last major release in the 2.x series, as the Python maintainers have shifted the focus of their new feature development efforts to the Python 3.x series. This means that while Python 2 continues to receive bug fixes, and to be updated to build correctly on new hardware and versions of supported operated systems, there will be no new full feature releases for the language or standard library.

Python 3.x is under active development and has already seen over five years of stable releases, including version 3.3 in 2012, 3.4 in 2014, 3.5 in 2015, and 3.6 in 2016. This means that all recent standard library improvements, for example, are only available by default in Python 3.x.

Many new Python users are wondering with which version of Python they should start. My answer to this question is usually something along the lines “just go with the version your favourite tutorial was written in, and check out the differences later on.”
But what if you are starting a new project and have the choice to pick? I would say there is currently no “right” or “wrong” as long as both Python 2.7.x and Python 3.x support the libraries that you are planning to use. However, it is worthwhile to have a look at the benefit of using Python 3.6.0.

BENEFIT OF USING PYTHON 3.6.0

Python 3.6.0 already broadly supports creating GUI applications, with Tkinter in the standard library. Python 3 has been supported by PyQt almost from the day Python 3 was released; PySide added Python 3 support in 2011. GTK+ GUIs can be created with PyGObject which supports Python 3 and is the successor to PyGtk.

For new programmers, it is advisable to learn python 3 first and then learn the differences in python 2 afterwards (if necessary) since python 3 eliminates many quirks that can unnecessarily trip up programmers trying to learn python 2.

Besides, several aspects of the core language (such as print and exec being statements, integers using floor division) have been adjusted to be easier for newcomers to learn and to be more consistent with the rest of the language, and old cruft has been removed (for example, all classes are now new-style, "range()" returns a memory efficient alterable, not a list as in 2.x).

However, there are some key issues that may require you to use Python 2.7.13 rather than Python 3.6.0
Firstly, if you're deploying to an environment you don't control, that may impose a specific version, rather than allowing you a free selection from the available versions.

Secondly, if you want to use a specific third party package or utility that doesn't yet have a released version that is compatible with Python 3, and porting that package is a non-trivial task, you may choose to use Python 2 in order to retain access to that package.

Thirdly, If you can do exactly what you want with Python 3.x, great! There are a few minor downsides, such as very slightly worse library support1 and the fact that some current Linux distributions and Macs are still using 2.x as default (although Python 3 ships with many of them), but as a language Python 3.x is definitely ready. As long as Python 3.x is installed on your user's computers (which ought to be easy, since many people reading this may only be developing something for themselves or an environment they control) and you're writing things where you know none of the Python 2.x modules are needed, it is an excellent choice. Also, most Linux distributions have Python 3.x already installed, and all have it available for end-users. Some are phasing out Python 2 as pre-installed default.2

Note: The 2.7 release has a much longer period of maintenance when compared to earlier 2.x versions. Python 2.7 is currently expected to remain supported by the core development team (receiving security updates and other bug fixes) until at least 2020 (10 years after its initial release, compared to the more typical support period of 18–24 months).

For installation of python. Download the video in the download section of the blog, for detailed instructions on that.

‘10 awesome features of Python that you can't use because you refuse to upgrade to Python 3’


Feel free to contact me for any help on python and other research softwares.

2 comments:

  1. Great tips, many thanks for sharing. I have printed and will stick on the wall! I like this blog. Phlebotomy Solutions

    ReplyDelete