Voici vos premiers pas en Python !
Tout d'abord, nous allons commencer par la base de la base: en algorithmique, nous allons manipuler des données. Les données sont, tout simplement, des informations que nous allons pouvoir modifier. Oui, cela parait évident comme ça, mais en fait, il existe en Python plusieurs types de données. Il y a donc, tout d'abord:
Les entiers, ou int (de l'anglais integers), qui sont les nombres 0, 1, 2, 3... On les note tels que l'on connait, c'est facile.
Les "nombres flottants", ou float (float numbers), ou plus simplement, les nombres "à virgule". Je met cette expression entre guillemets, car en Python, ils se notent avec un point (le système américain utilise le point et pas la virgule).
Les chaines de caractère, ou str (string, et je ne parle pas du sous-vêtement), formant du texte. En Python, comme nous allons aussi avoir de l'écriture pour le code en lui-même, on le distingue de celui-ci en le mettant entre guillemets.
Bon, il n'y a pas de quoi casser trois pattes à un canard, mais tant qu'à faire, formalisons un peu les bases afin de ne pas s'éparpiller. Il y a d'autres types de données que ceux-ci et nous en verrons plus tard dans le cours (on peut même en créer, mais chuut...), mais ceux-ci vont déjà nous être très utiles.
Les valeurs peuvent être stockées par l'ordinateur. En effet, les constructeurs d'ordinateurs ne s'efforcent pas à mettre le plus de gigaoctets de mémoire possibles dans le disque dur, la RAM et autres pour rien ! L'ordinateur va en effet pouvoir se rappeler de valeurs en les enregistrant sous forme binaire (0 et 1). Nous allons donc utiliser les variables.
Une variable (en programmation) est comme une boîte ayant un nom et une valeur. C'est comme un tiroir où l'on peut mettre une chose dedans: un tournevis, un cahier ou encore un jouet. On pourra ensuite ouvrir la variable et utiliser ce qu'elle contient, ou y mettre une autre valeur. Pour en construire une en Python, nous allons simplement écrire ceci:
nom_de_la_variable = valeur_initiale
Petit remarque: le nom de la variable ne doit pas contenir d'espace, ni de caractères spéciaux, ni de chiffres. Il y a donc deux manières plutôt répandues d'écrire un nom de variable: le CamelCase (la "casse du chameau"), où l'on écrit comme ceci (nomDeLaVariable), et l'underline, où l'on écrit comme ceci (nom_de_la_variable). C'est cette dernière méthode que je vais utiliser dans le cours, mais sachez que les deux manières sont égales et que, par exemple, j'utilise souvent le CamelCase.
Enfin, pour utiliser son contenu, on va juste écrire son nom là où l'on veut mettre le contenu. Pour modifier son contenu, on réutilise la même orthographe que lors de l'initialisation:
nom_de_la_variable = nouvelle_valeur
C'est très simple !
Lorsque nous avons plusieurs variables à définir ou même à modifier, ce qui est courant, nous pouvons même tout écrire en une ligne, comme ceci:
première_variable, deuxième_variable, ... = première_valeur, deuxième_valeur, ...
Cette écriture est plus belle qu'écrire sur plusieurs lignes !
Et maintenant que nous pouvons utiliser des données et les mémoriser, il va être utile de faire des opérations et des modifications dessus ! Par exemple, de multiplier deux nombres et de stocker le résultat dans une variable, ou de faire un calcul utilisant les valeurs de d'autres variables dans plusieurs autres.
Voici donc la liste des opérations (principales) que nous pouvons faire sur des nombres:
a + b #addition
a - b #soustraction
a * b #multiplication
a / b #division
a ** b #a puissance b
a // b #quotient de la division euclidienne de a par b
a % b #reste de la division euclidienne
Vous avez surement remarqué que j'ai mis du texte juste après chaque opération. En fait, ceux-ci sont des commentaires: en mettant du texte sur une ligne après un hashtag (#), ce texte sera ignoré par l'interpréteur. Cela nous permet donc de commenter le code, afin de par exemple l'expliquer en langage humain à un collègue ou pour soi plus tard. Ils peuvent donc s'avérer très utiles pour la lisibilité et donc l'efficacité d'écriture d'un code.
J'ai donné ici une liste des opérations générales sur les nombres, mais sachez qu'en faite, la plupart des types de données ont des opérations définies. Par exemple, les strings peuvent utiliser + pour se lier entre eux (on dit qu'on les concatènent). Mais la plupart de ces opérations sont peu utilisées...
On peut, avec ces opérations, écrire le calcul nécessaire là où on a envie de l'utiliser et donc manipuler facilement des opérations. Par exemple, si on veut stocker dans une variable le prix de 1,5kg de pommes (mangez 5 fruits et légumes par jour !) à 1,68€ le kilo, nous pouvons écrire ceci:
prix = 1.5 * 1.68
Et on se rendra compte que le contenu de prix est de 2,52 et donc que le prix sera de 2,52€.
On peut aussi faire des calculs entre variables. En effet, si on veut utiliser le contenu d'une variable dans un calcul, alors comme dit avant, nous écrivons le nom de la variable là où l'on veut utiliser son contenu. Par exemple, on peut écrire un programme à peu près pareil que celui d'avant:
quantité_pommes = 1.5
prix_total = quantité_pomme * 1.68
C'est pour l'instant très clair, mais cela peut mener à écrire des textes qui peuvent paraître étranges au premier coup d’œil, mais qui sont en fait assez logiques. Par exemple, pour augmenter le contenu d'une variable de 1, on peut écrire ceci:
variable = 3
variable = variable + 1
Cela peut paraître bizarre, mais en fait, voici ce que va faire l'interpréteur devant ça:
il va prendre le contenu de variable, donc 3.
il va faire l'addition et va obtenir 3 + 1 = 4.
il va mettre la valeur 4 dans variable
En fait, le signe = peut prêter à confusion: ici, il ne veut pas dire que les deux cotés de l'égalité sont de même valeur. En Python, on utilise = pour affecter une valeur à une variable.
Ici, on a ajouté 1 à variable, mais on peut utiliser toutes les opérations de la même manière. Ainsi, on peut par exemple multiplier par 2 variable et mettre son résultat dedans. Cependant, il existe une autre manière de faire, celle avec des "opérateurs raccourcis". Ceux-là vont juste simplifier la manière d'écrire certains calculs d'une variable que l'on va remettre dans celle-ci.
Voici la liste des opérations raccourcies:
a += b #Remplace "a = a + b".
a -= b #Remplace "a = a - b".
a *= b #Remplace "a = a * b".
a /= b #Remplace "a = a / b".
a **= b #Remplace "a = a ** b"
a //= b #Remplace "a = a // b".
a %= b #Remplace "a = a % b".
Bon, personnellement, je n'utilise quasiment jamais les trois dernières opérations, parce qu'elles sont pas courantes. Mais j'utilise souvent les quatre premières car elles sont en fait assez lisibles et claires. Par exemple, a += b peut se dire "ajouter à a la valeur de b" et cela se comprend bien rien qu'en voyant le code. Je conseille donc l'utilisation de ces opérateurs car ils sont très claires et plus simples que a = a + b par exemple, mais utiliser l'une ou l'autre des manières n'est pas gravissime en soi...
En programmation, nous allons manipuler des données qui peuvent être de plusieurs types (int, float, str...). Nous pouvons pour cela les mémoriser en utilisant des variables qui sont des "boîtes" avec un nom et un contenu. Pour créer une variable, il faut écrire:
nom_de_la_variable = valeur_initiale
nom_de_la_variable va donc contenir valeur_initiale. Pour réutiliser le contenu de la variable, on écrit son nom là où on veut l'utiliser. Pour modifier sa valeur, on réutilise la même écriture qu'avant:
nom_de_la_variable = nouvelle_valeur
Nous allons aussi faire des opérations dessus ces données, tels que, pour les nombres:
a + b #addition
a - b #soustraction
a * b #multiplication
a / b #division
a // b #quotient de la division euclidienne de a par b
a % b #reste de la division euclidienne
On peut alors stocker des résultats de calculs dans des variables, voire même faire un calcul sur une variable et mettre ce résultat dans la variable elle-même, pour par exemple ajouter ou soustraire au contenu d'une variable un nombre. On peut aussi utiliser des raccourcis pour faire cela. Ainsi, voici deux manières de diviser une variable par 2:
a = a / 2
a /= 2
Voici une liste de ces opérateurs raccourcis:
a += b #Remplace "a = a + b".
a -= b #Remplace "a = a - b".
a *= b #Remplace "a = a * b".
a /= b #Remplace "a = a / b".
a //= b #Remplace "a = a // b".
a %= b #Remplace "a = a % b".