1. Apprendre Python#

La programmation est l’acte de créer des instructions informatiques qui seront exécutées par un ordinateur. Elle permet de résoudre des problèmes complexes de manière automatisée, en utilisant des algorithmes et en manipulant des données.

La programmation est importante car elle est présente dans de nombreux aspects de notre vie quotidienne : sites internet, applications mobiles, logiciels de bureau, systèmes embarqués, etc. Elle est également un outil puissant pour les scientifiques, les ingénieurs et les data analysts pour analyser et visualiser des données, simuler des situations ou automatiser des tâches répétitives.

Dans ce cours, nous allons apprendre la programmation avec Python, et, dans la mesure du possible, nous nous appuierons sur des exemples liés au traitement de données géographiques.

1.1. Pourquoi est-ce indispensable ?#

Vous conviendrez, qu’ouvrir Wikipedia pour se convaincre que Python est important risque de vous laissez un goût amer. On y définit Python comme un langage de programmation généraliste et de haut niveau dont la philosophie met l’accent sur la lisibilité du code avec l’utilisation d’une indentation sémentique. Python est également typé dynamiquement et dispose d’un garbage collector. Il s’appuie sur plusieurs paradigmes de programmation : programmation impérative, orientée objet et fonctionnelle. Il est souvent décrit comme un langage livré « batteries incluses » en raison de sa bibliothèque standard complète.

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. It is often described as a « batteries included » language due to its comprehensive standard library.

C’est beaucoup de termes techniques pour l’introduction d’un cours destiné à des débutants qui n’ont pas forcément d’appétence pour l’informatique…

On pourrait résumer le paragraphe précédent ainsi : Python est un langage de programmation simple d’utilisation, moderne, complet et disposant d’une vaste bibliothèque d’extensions qui rend son usage aisé dans de très nombreux domaines. C’est ce qui explique son succès… Aujourd’hui, Python est partout.

  • En informatique, si vous souhaitez utiliser les dernières techno d’IA, vous coderez en Python.

  • Dans les sciences formelles, Python est très apprécié des mathématiciens qui l’utilisent pour afiner leur intuition en testant une multitude de cas de figures (voir pour trouver des contre-exemples).

  • Dans les sciences physiques, Python permet de réalise aisément des simulations (pour l’astronomie par exemple).

  • Dans les sciences de la vie, comment analyser des brins ADN de plusieurs millions d’acides aminés sans faire appel à la bio-informatique qui a largement contribué à l’enracinement de Python.

  • Dans les sciences sociales (linguistique, sociologie, économie, démographie, géographie, histoire, archéologie, …) l’analyse de données se fait de plus en plus massive. Bien souvent c’est encore grace à Python.

Bien entendu, cette description de l’informatique dans les sciences, réduite à Python est au minimum approximative. Il existe bien d’autres langages et si Python est aujourd’hui l’un des plus utilisés, peut-être ne le sera-t-il plus demain. Une chose ne changera cependant pas, ce sont les concepts sous jacent à la programmation que l’on apprend avec langage moderne, de haut niveau tel que Python. Les connaitre, permet d’acquérir plus naturellement d’autres langages.

Python semble donc un passage obligé pour les sciences (au sens large). La programmation est devenu une compétence transverse aux domaines universitaires. C’est marqueur qui caractérise les plus hauts diplomés.

1.2. Comment apprendre Python ?#

Le diagnostique posé, il va maintenant falloir se saisir cet objet un peu mystérieux et tenter, brique après brique, de le comprendre. L’enjeu de ce cours est donc de partir de questions de base, telles que « qu’est ce qu’un programme ? » « comment un ordinateur exécute des instructions ? », et d’aller jusqu’à la réalisation d’un projet permettant de traiter des données géographiques et de les représenter sur une carte.

Pourquoi terminer en réalisant un projet ? Parce que l’informatique partage beaucoup avec l”artisanat. L’enjeu est de réaliser un objet, en l’occurence un programme, qui doit fonctionner comme on l’a spécifié. Tout comme l’artisanat, c’est une compétence que l’on acquière en pratiquant. Le corolaire étant que si l’on ne réalise rien, on ne progressera pas.

À vous donc de passer à l”action, d’être dynamique. Si vous restez passif à seulement lire ce cours, vous ne parviendrez pas à mettre en oeuvre ce que vous aurez lu.