Python: A Brief Introduction

Bikash Santra

Research Scholar, Indian Statistical Institute, Kolkata

1. Characteristics of Python

a) Easy to learn, powerful programming language
b) Efficient high-level data structures
c) Simple but effective approach to object-oriented programming
d) Extensive standard libraries: freely available and open source
e) Easy integration of C and C++ codes

2. Installing Python

2.1 Choosing Suitable Python Version

a) Python 2.7 (https://www.python.org/)
b) Python 3.# (https://www.python.org/)
c) IPython (https://ipython.org/): Not a version but it has completion, history, shell capabilities, and a lot more.

2.2 Popular Python Editors

a) Jupyter Notebook (https://jupyter.org/)
b) Spyder (https://spyder-ide.github.io/)
c) PyCharm (https://www.jetbrains.com/pycharm/)

2.3 A Compact Python Distribution

a) Anaconda Distribution: IDE, Package Manager (Conda), and Python Interpreter (https://www.anaconda.com/)

2.4 Package Installation

Run the following commands in Terminal (Linux) or in command prompt (Windows):
a) conda install 'package_name' (for anaconda distribution)
b) pip install 'package_name' (for python 2.7 distribution)
c) pip3 install 'package_name' (for python 3.# distribution)

3. Pillars of Python: Packages

a) NumPy: Numerical computing and routines with powerful numerical arrays objects
b) SciPy: High-level numerical routines, optimization, regression, interpolation, etc
c) Matplotlib / Mayavi (for 3D): Data visualization (plotting)
d) Pillow / Scikit-image / OpenCV: Image processing
e) SciKit-learn: Machine learning
f) Pandas / Statsmodels / Seaborn: Statistics
g) SymPy: Symbolic computing - algebric maniuplations, calculus, solving equations, etc
h) Pytorch / Tensorflow / Keras: Deep learning
i) wxPython / pyQT: GUI toolkit

4. References

a) https://www.scipy-lectures.org/intro/intro.html
b) https://docs.python.org/2.7/tutorial/
c) http://jupyter-notebook.readthedocs.io/en/stable/index.html
d) https://pythontips.com/2013/07/30/20-python-libraries-you-cant-live-without/
e) https://activewizards.com/blog/top-15-libraries-for-data-science-in-python/