Académique Documents
Professionnel Documents
Culture Documents
False, class, return, is, finally, None, if, for, lambda, continue, True, def, from, while, nonlocal, and, del, global, not,
with, as, elif, try, or, yield, assert, else, import, pass, break, except, in, raise.
Les variables ont seulement une seule valeur a la fois, une fois qu’elle est changée, elle est oubliée. Il existe certaines
règles pour les noms de variables dans Python :
1
Elements de programmation Printemps 18-19
Opérateur Opération
+ Addition
- Soustraction
* Multiplication
/ Division
** Puissance
% Reste (de la
division entière)
Il existe les nombre « integer » (entier) et « Float » (avec décimales). On peut passer d’un nombre integer a float et
vice-versa en utilisant les commandes « class’’ » et « type() » ou « int() » et « float() ».
Python Signification
< Inférieur à
<= Inférieur ou égal à
== Égal à
>= Plus grand ou égal à
> Plus grand que
!= Inégal
= Affectation
Ces commandes sont du type booléennes (expressions logiques), elles vont donc répondre en Vrai/Faux ou Oui/Non.
L’indentation est importante pour créer des « blocs » dans notre code et est nécessaire dans certaines situations. Cela
rend le code également beaucoup plus facile à lire.
2
Elements de programmation Printemps 18-19
En Python, une fonction est un code réutilisable auquel on donne un nom. On va définir
une fonction en utilisant le mot réservé « def ». Lorsque nous voulons utiliser la
fonction, on va simplement utiliser son nom. La syntaxe pour en créer une est comme
suit :
Les boucles sont beaucoup utilisées. On les utilise pour les tâches répétitives. On va utiliser le mot réservé « while »
pour en créer. L’instruction « break » arrête la boucle en cours et passe à l’instruction qui est après la boucle.
L’instruction « continue » met fin à l’itération en cours et passe au début de la boucle et lance l’itération suivante. Les
boucles indéfinies sont celle qui continue jusqu’à ce qu’une condition logique soit réalisée, tandis que les boucles
définies s’exécutent un nombre exact de fois.
Comme vu précédemment, on peut tout simplement mettre des chaines de caractères ensembles. C’est la
concaténation de chaines. On peut également utiliser « in » pour savoir si une chaine est présente dans une autre
chaine de caractère. On va recevoir une réponse « true » ou « false ». La fonction « replace » va remplacer une chaine
de caractère (ou une partie de celle-ci) définie par une autre. Voici une liste de fonctions :
Une collection nous permet de mettre plusieurs valeurs dans une seule. On peut
donc transporter toutes les valeurs en un paquet (ex : friends = [‘Joseph’, ‘Glenn’,
‘Sally’]). Les listes sont entourées de crochets et les éléments sont séparés par des
virgules. Les listes sont mutables, on peut donc changer un élément d’une liste en
utilisant l’opérateur index. Ceci était impossible avec les chaines qui sont
immutables. Nous pouvons concaténer des listes, comme avec les chaines de
caractères (+). On peut demander à une liste de se trier elle-même avec « sort() ».
La fonction « split » coupe les chaines de caractères aux espaces et en fait une liste
avec les mots qui en ressortent.
3
Elements de programmation Printemps 18-19
Séance 4 – Input/Output
Les tuples sont comme des listes et ont une fonction similaire. Néanmoins, dès qu’ils sont créés, on ne peut plus les
modifier (contrairement aux listes). Les éléments de ceux-ci sont également indexés à partir de 0. Rappel : les listes
ont des crochets carrés, tandis que les tuples ont des parenthèses. On peut faire les opérations suivantes sur les
tuples :
Si on un dictionnaire, avec logiquement de clés et des valeurs, et que l’on utilise les fonctions suivantes :
Les tuples ne peuvent pas être triés (parce qu’ils ne sont pas modifiables), mais on peut trier les listes de tuples avec
la fonction sorted().
En résumé :
Les files sont là pour faire le lien entre python et les données qui sont souvent sauvegardées dans une mémoire
secondaire (de type Excel, etc.). Avant que nous puissions lire le contenu du fichier, nous devons dire à Python quel
fichier nous allons utiliser et ce que nous allons faire avec le ficher. La fonction qui fait cela est open(), qui retourne un
« handle de fichier », une variable utilisée pour effectuer des opérations sur le fichier. Ces opérations sont similaires à
« Fichier → ouvrir → etc. ». \n est utilisé pour passer à la ligne suivante et il compte comme un caractère. Ceci nous
permet d’itérer pour chaque ligne en utilisant « for line in … : » (line, pas \n).
5
Elements de programmation Printemps 18-19
Les Méthodes sont des fonctions attachées à la définition de la classe. Ceci se fait en rajoutant une définition en
dessous du premier bloc de la classe. Ceci est utile lorsque l’on a des attributs qui sont dépendant des autres, qui
varient en fonction de ceux-ci (ex : l’aire d’un rectangle dépend de sa hauteur et de sa largeur).
6
Elements de programmation Printemps 18-19
On va maintenant s’intéresser à l’algorithme qui se trouve derrière le tri. Enfaite, Python va lire les données et
permuter à chaque fois deux élément consécutifs s’ils ne sont pas de le bon ordre (l’un par rapport à l’autre). Une fois
que ceci est fait, Python va passer aux valeurs suivantes et recommencer une fois qu’il arrive à la fin. Tout cela se
répète jusqu’à ce qu’il arrive à examiner toute la liste sans devoir faire de permutations. Ça s’appelle le tri à bulle et
se traduit en langage Python de la façon suivante :
7
Elements de programmation Printemps 18-19
La complexité d’un algorithme permet de calculer le nombre de ressources nécessaire à son exécution. Plus les
ressources nécessaires sont élevées, plus la complexité est importante. La complexité est exprimée en fonction d’un
paramètre [n] et est calculé par : 𝑂(𝑛3 )
Une autre façon de trier est le tri par sélection, dans lequel python va créer une nouvelle liste en retirant d’abord la
plus petite valeur de l’ancienne lise, et refaire ce processus jusqu’à ce que cette dernière soit vide. On pourra s’aider
de la fonction min(). La complexité est donnée par 𝑂(𝑛2 ).
Au tri par insertion, on va prendre les éléments de l’ancienne liste comme ils viennent, mais on les ajoute à la nouvelle
en cherchant à chaque fois le bon endroit pour les insérer.
Il existe une façon de trier simple et très efficace, c’est le « Quicksort ». On va d’abord chercher de trier
approximativement et répéter ce processus une multitude de fois, ce qui résulter en un tri parfait.
8
Elements de programmation Printemps 18-19
header (titre des colonnes) et numrows (#lignes). On va passer les différents arguments à la méthode format, ce
qui veut dire qu’ils sont placés ans l’ordre entre les {} présents dans la chaîne de caractère que l’on donne.
• On peut également afficher le contenu obtenu dans un DataFrame de Pandas avec la fonction suivante : data_df
= pd.DataFrame(data['content'], columns=data['header']).
Les widgets sont des objets Python qui ont une représentation visuelle dans le
navigateur, souvent sous forme de contrôle comme un curseur, une zone de texte, des
boutons à cliquer, etc. On peut les utiliser pour créer des interfaces graphiques
interactifs. En voici une : w = widgets.IntSlider(), la valeur crée [w] peut être changée à
tout moment et la variable attribuée à celle-ci se modifie directement. Il a les propriétés
keys, description et disabled.
Interact génère un interface utilisateur pour contrôler les arguments d’une fonction.
Chaque fois que l’utilisateur touche le widget, interact va utiliser la fonction
automatiquement.
Toutes les variables et paramètres d’une fonction sont stockées sur un espace appelé la pile d’exécution. À chaque
appel d’une fonction, on ajoute sur la pile un espace pour stocker les valeurs de tous les paramètres et toutes les
variables locales de [f]. Quand on quitte la fonction (avec le return), on enlève cet espace du sommet de la pile, et
l’exécution se poursuit avec les variables et paramètres qui sont en dessous. Elles s’enlèvent, parce que l’on n’a plus
besoins de ces valeurs vu qu’elles sont simplement les valeurs internes/intermédiaires de la fonction.
Un arbre binaire est une structure de données qui peut se représenter sous la
forme d’une hiérarchie dont chaque élément est appelé nœud, le nœud initial
est appelé racine. Chaque élément possède au plus deux éléments filaus au
niveau inférieur, habituellement appelés gauche et droit. La distance entre la
feuille la plus éloignée et la racine est appelée la hauteur de l’arbre. Le niveau
d’un nœud est appelé profondeur. Lorsque l’on insère un nœud, on part de la racine, on choisit gauche/droite à la
racine et à chaque nœud qui vient après jusqu’à ce qu’on trouve une place libre et que l’on insère le nœud.
Une fois l'arbre binaire de recherche créé, nous pouvons l'imprimer avec la méthode print_tree. Comme mentionné
précédemment : un arbre binaire de recherche est un arbre binaire ordonné. Il doit donc y avoir un moyen simple de
l'imprimer dans l'ordre puisqu'il est ordonné. Tout comme la construction de l'arbre binaire de recherche est récursive,
l'impression de son contenu l'est également. Plus d’intuition ici.
9
Elements de programmation Printemps 18-19
10