Généralités sur Python

Qu’est ce que Python

Python est un langage de programmation qui intègre un grand nombre des concepts de la programmation moderne. C’est un langage simple et puissant. Ceci en fait un outil adapté pour le développement d’applications de complexités diverses (de simples scripts aux applications complètes) et de domaines variés (applications mobiles, web ou calcul scientifique) ainsi que pour l’apprentissage d’un premier langage de programmation.

Nous verrons dans ce cours les bases du langage ; ce sont les prérequis pour des cours plus avancés de python, comme la programmation objet, mais aussi des cours d’algorithmique dans lesquels nous pourrons coder les algorithmes avec Python.

Ce cours se veut concis et laissera une part importante aux exercices qui pourront être réalisés directement au sein du navigateur.

À ce jour, il existe plusieurs versions de Python qui co-existent. Nous nous focaliserons dans ce cours sur la version 3 qui est l’avenir du langage.

Quel est le role d’un langage ?

D’un coté l’Homme utilise pour communiquer des langues (dites « naturelles ») qui permettent une très grande expressivité. Le registre de ces langues est vaste : on peut exprimer avec des nuances fines lois, récits, poésie, etc. Ces langues permettent aussi de décrire de façon relativement concise des procédures complexes, par exemple une méthode pour déterminer les nombres premiers inférieurs à 100. De telles procédures ou méthodes sont appelées algorithmes. Si les langues naturelles permettent de décrire des algorithmes de façon concise, elles ont en revanche l’inconvénient d’être ambigues : un même texte peut être compris de différentes manières.

De l’autre, les circuits électroniques des ordinateurs sont pilotés par des programmes écrits à un niveau extrêmement élémentaire (on parle de « langages machine »). Ces langages ne présentent aucune ambiguité, mais leur très grande proximité avec les détails techniques des processeurs rend fastidieuse la rédaction des programmes.

Les langages de programmation sont sensés faire l’interface entre ces deux mondes. Ils sont formels et ne présentent aucune ambiguité, tout en restant à un niveau de compréhension assez proche de l’Homme. Il permettent donc de décrire des programmes de façon concise et compréhensible. Cette description est appelé « code source ».

Que veut dire interpréter/compiler ?

Suivant le langage utilisé pour la rédaction du code source d’un programme, il existe deux manières différentes de le transformer en langage machine afin d’être exécuté.

Le code source d’un programme peut être compilé, c’est à dire transcrit dans le langage machine. Cette étape est réalisée par un compilateur. Le résultat est un programme exécutable. L’avantage de cette méthode est que des optimisations peuvent être réalisées lors de l’étape de compilation. L’inconvénient est que le code source doit être compilé pour chaque grande famille de machines (en fonction de leur architecture — Mac, PC, smartphone — mais aussi leur système d’exploitation — Windows, Linux, etc.).

D’autres langages de programmation ne sont pas compilés mais interprétés. Dans ce cas, un programme existant sur la machine va lire le code source et interpréter les instructions du langage en code machine. Les langages interprétés donnent des applications qui sont souvent moins rapides que celles obtenues à partir de langages compilés mais on l’avantage de ne pas devoir être compilées pour chaque architecture cible. Ceci permet aussi à ces applications d’être portable d’un système à un autre.

Nous passons sur la possibilité de mélanger les deux techniques.

Paradigme de programmation

Il existe différents paradigmes de programmations, des « styles » qui correspondent à la manière dont est formulé un programme. Ces paradigmes peuvent être combinés au sein d’un même langage.

En programmation impérative, le code source décrit une série d’instructions qui seront exécutées les unes à la suite des autres et qui auront pour effet de modifier l’état de variables.

En programmation fonctionnelle, le code est décrit comme un ensemble de fonctions mathématiques. Le résultat d’un programme revient à calculer le résultat d’une fonction.

En programmation orientée objet, le code définit des structures appellés « objets ». Ces objets sont les briques de base qui interagissent les unes avec les autres.

Python dans tout ça

Python est un langage de programmation interprété. Il intègre les concepts de programmation fonctionnelle et objet.

Ceci dessous nous avons un premier programme Python. Comme nous pouvons le voir, le code source est relativement compréhensible par un être humain.

Je vous propose dans un premier temps de le lire, d’essayer rapidement de comprendre ce qu’il fait en observant le résultat de son exécution.

À l’issue de ce cours, l’enjeu sera d’être capable de comprendre un code de complexité équivalente et d’en réaliser soi-même.




Un premier programme en Python (python)

Next Section - Variables et types de données