Broad introduction to Python3, from basic Python to scientific modules.
This introduction will cover main aspects of Python, some of it's main libraries and functionalities, as well as scientific and plotting packages, and Jupyter Notebooks. We will begin from the basics of the language, assuming you have never seen it before, but also assuming you have had some programing experience.
Overview:
- Python language
- Interpreted Modern Day Stuff
- Installation (system package/Anaconda)
- Python 3 vs 2
- Jupyter Notebook (What is this thing I am looking at?)
- Variables and Collections
- Native Types and Dynamic Typing
- Everything is a class
- Numbers
- Strings/bytes
- Basic methods
- Lists
- Indexing, slicing, negative indices
- Basic methods
- Tuples
- Sets
- Basic methods
- Dictionaries
- Basic methods
- is vs. equals (or, value vs. reference)
- None
- Control Flow
- Indentation and Scope
- If/Else
- For/While Loops
- Continue/Break/Else
- Try/Except
- Functions
- Def/Lambda
- Arguments (and default arguments )
- *args and **kwargs
- Comments and Doc-Strings
- Scope
- Classes
- Iterators and Generators
- Modules
- File IO
- Virtual Environments
- Scientific Modules
- Numpy/Scipy and Matplotlib
- Pandas
- Wide vs Long data formats: melting and casting
- Plotnine
- Cython and Numba
- Mpi4Py
- Jupyter
- Integrations
- Sources and Aknowledgements