Introduction à la programmation
11/8/23
Plan de la séance
Les lignes de commande
Les fondamentaux de la programmation
Les basiques en Python
Exercices
1. Les lignes de commande
Capture d’écran d’un terminal
1.1 Pourquoi utiliser le terminal ?
Exécuter des scripts Python ;
Installer des logiciels et des paquets Python ;
Travailler sur différents ordinateurs depuis votre client ;
Exécuter des tâches simples (renommer des fichiers en masse, générer des sauvegardes automatiques, convertir des documents, etc.) ;
Faire de l’analyse de texte basique.
Avant de parcourir ensemble les bases de la programmation en Python, nous avons besoin de faire un détour par les lignes de commande. Que l’on désigne cette interface par shell , bash ou terminal, cet outil est bien un moyen d’interagir avec son ordinateur, sauf qu’au lieu d’interagir avec une interface graphique, on peut le faire via … une interface textuelle !
Chacun de ces termes a une signification qui lui est bien spécifique et ne représente pas le même environnement.
1.2 Où trouver l’interface de lignes de commande ?
Votre interface de ligne de commande dépend de votre système d’exploitation. La plupart des OS appartiennent à l’une des deux familles d’OS :
Unix (MacOS, Linux)
Windows
Pour les Mac : chercher l’application “Terminal” (Applications -> Utilities).
Pour Windows : chercher “Powershell”
Pour Linux : appuyer sur le raccourci clavier ctrl+alt+t
1.3 Les commandes les plus courantes
2. Les fondamentaux de la programmation
# Ceci est une variable
a = 10
# Ceci est une fonction
def polynome(x):
return 2 * x** 2 + 4 * x + 10
# Ceci est une boucle
for i in range (10 ) :
result = polynome(i)
print (result)
Pourquoi apprendre un langage de programmation ?
vous pouvez gagner du temps et de l’énergie en automatisant des tâches
vous pouvez collecter et analyser des données (selon vos propres besoins)
vous gagnerez en autonomie, flexibilité et personnalisation de vos projet numériques
vous aurez une meilleure compréhension du fonctionnement des environnements numériques
Les slides qui vont suivre résument les principales notions que toutes personnes qui souhaite développer doit connaître.
2.1 Les types de données en programmation
Strings (chaînes de caractères)
Integers (nombres entiers)
Floats (nombres décimaux)
Booleans (true/false)
6
n’est pas la même chose que "6"
.
Il faut sortir de l’imaginaire du hacker, de Mr. Robot, ou encore de Matrix. La programmation est un moyen de donner des instructions claires, explicites et sans ambiguité à votre machine. Lorsque vous écrivez ces instructions, il faut comprendre que vous manipulez des données. Si ces données sont compréhensibles pour les êtres humains, c’est parce qu’elles reposent sur des conventions de lecture particulières que la machine ne connait pas. Pour éviter de confondre les données entre elles, des conventions d’écriture permettent de déclarer formellement leur type. Une suite d’instructions sert à manipuler des données numériques et à les transformer pour en obtenir de nouvelles.
2.2 Les variables
Les variables sont des boîtes dans lesquelles on stocke des objets tels que des données, des noms de fichier, etc.
Les variables sont l’une des briques fondamentales de la programmation. C’est grâce à elle que nous pouvons rendre un programme générique ! Une variable est un objet qui peut prendre de multiples valeurs. Lorsqu’on met un objet dans cette boîte, on dit qu’on assigne ou qu”on affecte une valeur à une variable.
En Python, on affecte une valeur à une variable en utilisant le signe =
.
2.3 Les boucles
Une boucle permet de répéter une même action selon une certaine condition.
# Ceci est une boucle
for i in range (10 ) :
print (i** 2 )
Un principe fondateur du code est la factorisation du code, c’est-à-dire le fait de ne pas répéter plusieurs fois une même instruction. Une des façon de factoriser son code est d’employer les boucles. Il en existe plusieurs types selon les langages de programmation.
En Python, il existe les boucles for
et les boucles while
. La boucle for
fonctionne comme « pour un élément dans quelque chose, exécuter les instructions suivantes ».
La boucle while
fonctionne avec une condition. « Tant que cette condition est valide, exécuter les instructions suivantes ».
2.4 Les ensembles de données
liste
dictionnaire
pile
file
Exemple d’une liste :
liste_de_fruits = ["Pomme" , "Banane" , "Poire" , "Orange" ]
Nous avons vu que nous pouvions affecter une valeur à une variable. En programmation, il est possible de créer de regrouper les données entre dans divers ensemble, où chacun est déterminé par un comportement précis (dès règles). D’un langage à l’autre les ensembles ne fonctionnent pas de la même façon. Par exemple le tableau (array ) n’existe pas dans le langage de programmation Python, alors que c’est un objet couramment manipulé en PHP. La pile quant à elle fonctionne comme un ensemble d’objet qu’on empile à la verticale : le premier objet empilé sera le dernier à pouvoir être utilisé, alors que la file fonctionne comme une file d’attente : le premier arrivé est le premier à sortir.
2.5 Les tests if/else
Si demain il neige, alors je porterais une parka, si non, je porterais un t-shirt.
Si l’utilisateur est âgé de plus de 18 ans, il peut conduire la voiture, si non, il devra prendre les transports en commun.
note_etudiant1 = 90
if note_etudiant1 >= 70 :
print ("Félicitations !" )
Lorsque nous écrivons des instructions, il y a souvent des conditions nécessaires pour pouvoir les appliquer, ou des exceptions pour lesquelles l’instruction ne s’applique pas. Par exemple, si vous travaillez sur un jeu de données comportant des informations sur toute la population de Montréal mais que votre projet n’est focalisé que sur une tranche de la population, entre 20 et 30 ans disons, il vous faudra exclure toutes les personnes qui ne sont pas dans cette tranche-là.
Dans l’exemple ci-contre, on affecte l’entier 90 à la variable note_etudiant1
puis on écrit une instruction : si la valeur affectée à la variable est supérieure ou égale à l’entier 70, alors imprime la chaîne de caractères “Félicitations”.
2.6 Les fonctions
Une fonction désigne en programmation un « sous-programme » permettant d’effectuer des opérations répétitives (Wikipédia ).
# Ceci est une fonction
def polynome(x):
return 2 * x** 2 + 4 * x + 10
Comme les boucles, une fonction est un objet utilisé pour factoriser le code. Toutefois, contrairement à cette dernière qui reste une forme simplifiée, la fonction se distingue par sa capacité à recevoir des informations à partir desquelles elle en retourne une ou plusieurs. La informations transmises à la fonction sont nommés des paramètres ou des arguments et celles qui sont retournées sont appelées résultat .
Comme dans l’exemple ci-dessus, une fonction doit être définie avant de pouvoir être utilisée. La syntaxe pour définir une fonctione est simple :
commencer par def
puis donner un nom à la fonction (dans l’exemple polynome()
)
mettre des parenthèses, c’est à l’intérieur de celles-ci que nous pouvons passer des arguments à la fonction, en les séparant par une virgule s’il y en a plusieurs
mettre :
à la fin et faire un retour à la ligne
écrire les instructions de la fonction (elles doivent être indentées d’une tabulation)