Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
projets:ecole:python:1 [Le 20/10/2007, 09:59] – gloubiboulga | projets:ecole:python:1 [Le 12/04/2017, 15:41] (Version actuelle) – tags L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== Cours sur Python ====== | ||
+ | |||
+ | |||
+ | ===== Session 1 ===== | ||
+ | |||
+ | ==== Introduction ==== | ||
+ | |||
+ | Python est né au début des années 1990, son père est Guido van Rossum. Les deux versions | ||
+ | |||
+ | Python est présent partout, vous l' | ||
+ | |||
+ | Ce cours est une introduction au langage, en abordant certaines notions de base de la programmation. Le but est d' | ||
+ | |||
+ | |||
+ | ==== L' | ||
+ | |||
+ | Python est un langage « interprété », c' | ||
+ | python | ||
+ | Commençons par une utilisation très simple, en faisant faire du calcul à python : | ||
+ | 3*6 | ||
+ | 4-9 | ||
+ | |||
+ | === Notion de variable === | ||
+ | |||
+ | Les variables correspondent à des zones de stockage de valeurs. Elles sont désignées par des mots contenant les lettres minuscules, majuscules, les chiffres et le tiret bas « _ »((En anglais : // | ||
+ | |||
+ | A une variable on assigne une valeur grâce à l' | ||
+ | a = 4 | ||
+ | b = 5 | ||
+ | a + b | ||
+ | Les valeurs contenues par les variables a et b ont été utilisées pour réaliser l' | ||
+ | |||
+ | Une variable doit avoir été initialisée pour être utilisée : | ||
+ | c | ||
+ | c = 1 | ||
+ | c | ||
+ | |||
+ | La première et la troisième instruction sont identiques, mais le résultat diffère suivant l' | ||
+ | |||
+ | Une variable peut « dépendre » d'elle même : | ||
+ | a = 4 | ||
+ | a = a + 1 | ||
+ | a | ||
+ | Attention à la casse ! « A » est différent de « a ». | ||
+ | |||
+ | === Notion de type === | ||
+ | |||
+ | On n'a utilisé que des entiers pour l' | ||
+ | a = 5 | ||
+ | a / 2 | ||
+ | b = -5 | ||
+ | b / 2 | ||
+ | On obtient 2, et pas 2.5 pour a, et -3 et pas -2.5 pour b. Pourquoi ? python arrondi tout simplement à l' | ||
+ | <note important> | ||
+ | a = 5.0 | ||
+ | a / 2 | ||
+ | |||
+ | Un autre type très courant est la « chaine de caractère » (//string// en anglais). Elle est définie en plaçant du texte entre « " » ou entre « ' » : | ||
+ | une_chaine = "Je suis une chaine." | ||
+ | une_chaine | ||
+ | |||
+ | On peut « ajouter » des chaines, on appelle ça la concaténation : | ||
+ | a = " | ||
+ | b = "Monde !" | ||
+ | a + b | ||
+ | |||
+ | Pour mettre le doigt sur une possible confusion, essayons ceci : | ||
+ | a = 1 | ||
+ | a | ||
+ | b = " | ||
+ | b | ||
+ | Notez la différence entre les 2 résultats. La première fois python affiche un entier, la seconde une chaine de caractères (entre « ' »). | ||
+ | |||
+ | a+b | ||
+ | |||
+ | Une erreur résulte de ce calcul, puisque //a// et //b// sont de type différents. | ||
+ | |||
+ | |||
+ | |||
+ | ==== Premier script ==== | ||
+ | |||
+ | Un des intérêts d'un programme est de pouvoir interagir avec l' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Ce sont deux fonctions, qui utilisent un ou plusieurs arguments (des données qu' | ||
+ | |||
+ | '' | ||
+ | |||
+ | resultat = raw_input(" | ||
+ | |||
+ | La chaine de caractère sera affichée à l' | ||
+ | |||
+ | Pour ensuite afficher ce texte on peut utiliser : | ||
+ | |||
+ | print "Du texte qui ne change pas et autre chose :", resultat | ||
+ | |||
+ | Les éléments à afficher sont séparés par une virgule, qui apparaitre comme un simple espace lors de l' | ||
+ | |||
+ | ''" | ||
+ | |||
+ | Regardons maintenant cet exemple : | ||
+ | <code python> | ||
+ | # | ||
+ | # -*- coding: UTF8 -*- | ||
+ | |||
+ | # On demande le nom | ||
+ | nom = raw_input(" | ||
+ | |||
+ | # On demande le prénom | ||
+ | prenom = raw_input(" | ||
+ | |||
+ | # On affiche le tout | ||
+ | print (" | ||
+ | </ | ||
+ | |||
+ | |||
+ | Quelques petites remarques : | ||
+ | * les lignes qui commencent par « # » ne sont pas lues par Python, ce sont des lignes de commentaires. Elle sont utiles pour détailler certains éléments de votre script ; | ||
+ | * la première ligne est un « shebang », qui permet à votre shell que savoir avec quel programme lancer votre script lorsqu' | ||
+ | * la seconde définit l' | ||
+ | |||
+ | Copiez ce script dans un fichier « exemple.py » et exécutez : | ||
+ | |||
+ | python exemple.py | ||
+ | |||
+ | En guise d' | ||
+ | |||
+ | === Conditions === | ||
+ | Pour que le script réagisse suivant ce que l' | ||
+ | <code python> | ||
+ | if (une_condition_est_vraie): | ||
+ | # on execute | ||
+ | # une série | ||
+ | # d' | ||
+ | else: | ||
+ | # sinon | ||
+ | # on fait autre chose | ||
+ | </ | ||
+ | La syntaxe est (je pense) assez claire, mais elle amène quelques nouvelles notions. | ||
+ | |||
+ | == Les booléens == | ||
+ | |||
+ | Une variable booléennes est une variable qui n' | ||
+ | " | ||
+ | |||
+ | == L' | ||
+ | Pour connaître toutes les instructions à exécuter si la condition est vraie, on définit un " | ||
+ | # on execute | ||
+ | # une série | ||
+ | # d' | ||
+ | Ce bloc sera exécuté si la condition est vérifiée. | ||
+ | |||
+ | Prenons un exemple de comparaison d' | ||
+ | a = 1 | ||
+ | b = 2 | ||
+ | if (a > b): | ||
+ | print ("a est supérieur à b") | ||
+ | else: | ||
+ | print ("b est supérieur ou égal à a") | ||
+ | |||
+ | Quel sera le résultat du script ? | ||
+ | |||
+ | L' | ||
+ | * ''>'' | ||
+ | * ''> | ||
+ | * '' | ||
+ | Les conditions peuvent être multiples et inclure des '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Vous pouvez maintenant reprendre l' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Listes ==== | ||
+ | |||
+ | === Définir une liste === | ||
+ | Utiliser une variable par élément à saisir, ça devient très vite ingérable (imaginez ce que ça donnerait pour gérer une liste de 10000 clients). Python possède un autre type de données, les listes. | ||
+ | Il s'agit en fait d'un " | ||
+ | a = "coup de fil à maman" | ||
+ | b = " | ||
+ | c = " | ||
+ | A chaque nouvel élément il faudrait ajouter une variable, c'est ingérable. On peut alors utiliser : | ||
+ | todo = ["coup de fil à maman", | ||
+ | Notez que si l'on a déjà initialisé a, b et c on peut aussi utiliser : | ||
+ | todo = [a, b, c] | ||
+ | |||
+ | On n'a plus qu'une seule variable, qui contient un ensemble cohérent d' | ||
+ | |||
+ | Une liste est ce qu'on appelle un ' | ||
+ | todo.append(" | ||
+ | Dans l' | ||
+ | todo | ||
+ | Le nouvel élément a bien été ajouté à notre liste. | ||
+ | |||
+ | '' | ||
+ | Vous noterez que ' | ||
+ | todo = todo.methode() | ||
+ | |||
+ | === Accéder aux éléments === | ||
+ | On accède aux éléments d'une liste par leur indice (de 0 à (nombre_d_elements - 1)). Le premier élément est donc accessible par : | ||
+ | todo[0] | ||
+ | Le nombre d' | ||
+ | nb = len(todo) | ||
+ | Donc le dernier élément de la liste est : | ||
+ | todo[nb - 1] | ||
+ | |||
+ | Si l'on veut agir sur tous les éléments d'une liste, on utilise l' | ||
+ | for item in todo: | ||
+ | # on commence un bloc d' | ||
+ | # avec une nouvelle indentation | ||
+ | # ' | ||
+ | # la valeur de l' | ||
+ | |||
+ | Pour afficher un élément du tableau par ligne on peut donc utiliser : | ||
+ | for untodo in todo: | ||
+ | print " - %s" % untodo | ||
+ | |||
+ | Notez au passage l' | ||
+ | |||
+ | |||
+ | ==== Fonctions - introduction ==== | ||
+ | On a parlé tout à l' | ||
+ | |||
+ | L' | ||
+ | Cette fonction pourrait être définie comme suit : | ||
+ | <code python> | ||
+ | def list_print(texte): | ||
+ | n_texte = " - %s - " % texte | ||
+ | return n_texte | ||
+ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Notez l' | ||
+ | |||
+ | Une fonction ne doit pas forcément retourner quelque chose, elle peut par exemple juste ecrire du texte. | ||
+ | |||
+ | Dans un script, cette fonction pourra être appelée comme ceci : | ||
+ | txt1 = " | ||
+ | txt2 = " | ||
+ | ntxt = (list_print(txt1), | ||
+ | print """ | ||
+ | %s | ||
+ | """ | ||
+ | |||
+ | A noter : | ||
+ | * l' | ||
+ | * l' | ||