Source: https://www.electronique-mixte.fr/wp-content/uploads/2018/06/Formation_Python_cours_5.pdf