Python

 

 

 

 

Python - Introduction 

 

Python is a kind of interpreter-based computer language. It means that you don't need to compile your source code to execute, but you always need Python package installed on the PC or system on which you want to run the Python code.

 

It is known to start being developed in late 1980s by Guido van Rossum (Netherlands). And with long time evolution, Python 2.0 was realeased in Oct 2000 and Python 3.0 was released in Dec 2008.

 

 

Why Python ?

 

Everybody would have different reasons to choose Python..  Most people around me told me that they are using Python mainly because it is so handy in string/text manipulation.

 

Now over 20 years of evolution and being so widespread in almost every area, huge amount of resources, on-line help, tips and many special purpose libraries and free source code examples can be a strong motivation for Python.

 

According to Python official home page, it can be running on 21 different Operating system, implying it can run on almost all the operating system that you know of. So, if you write a code on whatever operating system that you are using and you can make it usefual to almost anybody without any concerns on compatibility issues. In terms of supporting wide range of Operating System, you may say it would be similar to Java. But you may find it much less scary (:)) than Java.

 

In my personal opinion, I think there are definitely a lot of good things on Python. Especially in string manipulation or Network programming, it is super easy and powerful comparing to other language.

Now with so much popularities of Python, we are getting more and more libaries designed for Python and the applicatition of Python is expanding further than String manipulation or Network Programming. Some of the most powerful Python libaries are as follows and these libraries would have made Python as a popular tool for data science.

Another strong point of Python would be that it support the means to easily interface with other language like C or Java  as listed below.

 

There is one thing I don't like. It is about 'Indentation'. In most of the modern language (like C, C++, Java, Javascript, Matlab etc), you don't need to care of the indentation (meaning the exact location of the first character of each command line). But in Python, this indentation is crucial which has caused a lot of trouble/confusion when I am writing the code. I felt like I was writing in Fortran which is the first computer language that I learned about 30 years ago. However, this is just my personal opinion and if this does not cause any trouble for you, just disregard my opinion,

 

 

Which Python ? v2.x and v3.x ?

 

Currently(as of 2016) I see most of people are using Pythong 2.x (mostly 2.7) or v3.x. In most other language, we don't care much about this kind of version difference, especially when you have some code written in older version and want to run (or compile) in new version. However in Python, you really need to worry about this because the compatibility between 2.x and 3.x is really poor. Python 3.0 was released in 2008. The final 2.x version 2.7 release came out in mid-2010, but still I see a lot of people using v2.7 mainly because they had so many source code writen in the old version. If you are new to Python, I personally recommend to start with v3.x. However, you would need to have some basic understandings on the difference between 2.x and 3.x since you would still see a lot of codes written in v2.x.

 

Refer to Should I use Python 2 or Python 3 for my development activity? and   Python 3 Q and A for the details with a lot of examples that shows critical differences between 2.x and 3.x.

 

In ShareTechnote, I will be using v3.x in most case. In some cases, I will try to write examples both in v2.x and v3.x, but in most case I will use v3.x by default. So unless I explicitely mention, you may assume that all of my sample code is based on v3.x