Introduction¶
What is Python?¶
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Source: python.org
- interpreted: no compilation (contrary to Java, C/C++, Fortran) 
- object-oriented: based on the concept of objects, associated with attributes (object’s data) and methods (object’s procedures). 
- high-level: close to human languages (contrary to C, which is a middle-level language) 
- dynamic semantics: no variable declaration, possibility to mix-up data types. 
Why use Python?¶
The main advantages of using Python are:
- Presence of third-party modules (Python Package Index) 
- Extensive support libraries (NumPy for numerical calculations, Pandas for data analytics) 
- Open source and community development 
- Easy to learn 
- User-friendly data structures (lists, dictionaries, etc.) 
- Interactive ( - ipython,- notebook)
- Portable across Operating Systems 
Source: geeksforgeeks.org.
Applications¶
The main applications are:
- Machine learning (scikit-learn, TensorFlow) 
- Data visualization (matplotlib, basemap, PyNgl, cartopy) 
- Documentation (Sphinx, Read the Docs) 
- Data download (cdsapi for Climate Data Store, motuclient for Copernicus Marine Products) 
Source: freecodecamp.org
They use Python¶
Famous Python users:
- Dropbox: desktop client 
- Instragram: website 
- Netflix, Spotify: analytics for suggestions 
- Facebook: 21% of the codebase 
- Google: Python where we can, C++ where we must 
Source: netguru.com
