g
vaut 2
» ou plutôt « la valeur 2
est affectée à la variable g
». En informatique, toutes les variables ne sont pas des nombres (même si au final, elles seront toutes compilées en mots binaires). Il existe plusieurs types de variables et cela dépend du langage de programmation utilisé.
Enfin, une variable peut aussi pointer vers d'autres type d'objet : des fonctions, etc...
Dans la plupart des langages de programmation, il faut annoncer le type d'une variable avant de l'utiliser. Sous
Python en revanche, c'est implicite : le type de la variable est déduit automatiquement de la valeur qu'on lui
affecte.
On parle alors de typage dynamique qui s'oppose au typage statique. Il est possible d'afficher
le type d'une variable sous Python en utilisant la fonction
Retenir qu'en python :
Selon leur type, les variables vont avoir des propriétés différentes et il sera possible d'appliquer certains opérateurs. Il n'est donc pas possible, dans une majorité des cas, de réaliser des opérations entre des variables de types différents (il existe toutefois des exceptions).
Retenir qu'en python : L'opérateur
Outre l'addition (ou la concaténation), Python connaît la plupart des opérations mathématiques habituelles.
Python est également capable, comme la plupart des langages informatiques, d'utiliser les comparateurs mathématiques.
Tous les opérateurs (de calcul, de comparaison, booléen) peuvent être associés dans une même instruction et des règles de priorité s'appliquent.
Voici les opérateurs classés du plus prioritaire au moins prioritaire :
La plupart des programmes informatiques nécessitent d'interagir avec l'utilisateur en lui communiquant des informations ou en lui demandant par exemple d'entrer une valeur.
Hello World!
.
Tâcher de toujours choisir des noms de variable qui aient un sens.
Pour découvrir ce que peut faire une fonction, il faut prendre l'habitude de consulter la documentation en ligne.
La documentation officielle de python est sur python.org mais il
existe aussi une documentation peut-être plus accessible sur w3schools.com.
Il faudra très souvent se débrouiller avec l'anglais.
Une autre façon de se documenter est d'utiliser la fonction
print(object(s), sep=separator, end=end, file=file, flush=flush)
object(s)
Any object, and as many as you like. Will be converted to string before printedsep='separator'
Optional. Specify how to separate the objects, if there is more than one. Default is ' 'end='end'
Optional. Specify what to print at the end. Default is '\n' (line feed)En python tout ce qui suit un dièse
Commentez suffisamment votre code mais veillez à ce que vos commentaires soient à jour, n'alourdissent pas le code et ne soit pas redondants ; ne commentez pas des évidences. Exemple :
Il existe un grand nombre de modules/bibliothèques ajoutant de nouvelles fonctionnalités
à Python. Vous pouvez retrouver tous les modules
natifs dans la documentation de python disponible ici : https://docs.python.org/3/ en cliquant sur
« Index général des modules ».
Il existe aussi de nombreux modules/bibliothèques qui ne sont pas répertoriés ici et
qui sont développés par la grande communauté de programmeur python.
Exemple de biblitohèques externes :
Le module
Une structure de gestion du flux d'exécution permet de définir les instructions qui seront exécutées selon le contexte.
En Python, on retiendra que chaque ligne de test doit nécessairement se
terminer par deux points et que chaque bloc d'instruction doit être indenté de quatre espaces.
Remarque : Il existe d'autres structures de test sous Python (par exemple
le test d'erreur «
Il est également possible de créer une structure conditionnelle dans une autre. On parle de tests imbriqués.
Dans ce cas, les indentations sont particulièrement importantes car elles délimitent les différents blocs.
$
. On dit que c'est une boucle bornée car dès le départ, on sait combien de fois elle sera répétée.
Le but initial de la programmation est « d'apprendre » à un ordinateur comment réaliser des tâches,
on parle aussi de procédures. Bien souvent, pour réaliser une tâche complexe, il est préférable
de la découper en plusieurs tâches plus simples et d'enseigner à l'ordinateur comment réaliser ces tâches simples.
Par exemple, pour apprendre à un ordinateur comment dessiner une maison, il est préférable de lui apprendre
comment tracer un trait puis d'avoir recours à cette tâche simple pour tracer la maison entière. Sous Python,
et bien d'autres langages de programmation qui utilise le paradigme procédural, on peut facilement « enseigner »
une tâche à un ordinateur au moyen d'une structure qu'on appelle fonction (ou parfois : sous-programme).
Retenir qu'en python :
Voici des exemples de fonctions qui ne demandent pas de paramètre :
Script 1 :Lors de l'exécution du script 1 :
Il est toujours préférable d'utiliser les fonctions
Il est possible de préciser en argument de la fonction un ou plusieurs paramètres qui seront utilisable à l'intérieur de cette fonction.
Dans le cas où une fonction prendrait plusieurs paramètres, on les sépare par des virgules :
Il est également possible de prévoir des valeurs de paramètres par défaut dans une fonction dans le cas où l'utilisateur
ne les donnerait pas. Cela se fait en affectant la valeur au paramètre en argument de la fonction :
L'importation des modules se fait toujours en dehors des fonctions, et généralement en début de script.
Exemple : Une fonction appelée fichier.py
. Pour rendre cette
fonction disponible dans un script, on rentrera au début du script l'instruction :
Alternativement, en entrant
Même si cette technique peut être pratique, elle peut être source d'erreur en modifiant des valeurs de variables qui n'aurait pas dû l'être.
Il sera préférable de passer les valeurs dont la fonction à besoin, en arguments, quitte à modifier ensuite la variable d'origine par un retour de
la fonction (avec
De la même façon qu'une fonction peut appeler une autre fonction, il est également possible
de faire en sorte qu'une fonction s'appelle elle-même.
C'est ce qu'on appelle une fonction récursive : elle contient un appel récursif.
En mathématique, la récursivité est
une démarche faisant référence à l'objet même de cette démarche, ce qui se résume souvent en informatique par l'aphorisme humoristique :
« Pour comprendre la récursivité il faut d'abord comprendre la récursivité ».
La récursivité intervient dans de nombreux domaines. Elle permet notamment de dessiner des fractales. La nature également utilise des algorithmes récursifs comme on peut le voir dans le chou romanesco.
Étudions la structure générale d'une fonction récursive simple :
Les lignes 2 et 3 définissent le cas trivial qui permet d'arrêter la récursivité, c'est à dire la condition d'arrêt, tandis que les lignes 4 et 5 concernent le cas récursif, qui appelle la fonction en modifiant la valeur de l'argument afin, qu'à un moment donné, on tombe sur le cas trivial.
En suivant l'algorithme ci-dessus, on constate que l'appel
Le moteur python ne permet pas d'empiler les appels récursifs en trop grand nombre lorsque cela demande beaucoup de ressources mémoire. Si la pile est trop grande et que la
capacité en mémoire de l'ordinateur est dépassée, celle-ci déborde et le message d'erreur