Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| projets:ecole:python:1 [Le 20/10/2007, 09:33] – créée gloubiboulga | projets:ecole:python:1 [Le 11/09/2022, 13:17] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== Sessions | + | {{tag> |
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Cours sur Python | ||
| + | |||
| + | |||
| + | ===== Session | ||
| ==== Introduction ==== | ==== Introduction ==== | ||
| - | Python est né au début des années 1980, son père est Guido van Rossum. Sa version actuelle est la 2.5.1. | ||
| - | Python est présent partout, vous l' | + | 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' | ||
| - | Ce cours est une introduction au langage, en abordant certaines notions de base de la programmation. Le but est d' | ||
| ==== L' | ==== L' | ||
| - | Python est un langage | + | Python est un langage |
| python | python | ||
| - | Commençont | + | Commençons |
| 3*6 | 3*6 | ||
| 4-9 | 4-9 | ||
| === Notion de variable === | === 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, chiffres et underscore " | ||
| - | A une variable on assigne une valeur grâce à l' | + | 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 | a = 4 | ||
| b = 5 | b = 5 | ||
| Ligne 30: | Ligne 40: | ||
| c | c | ||
| - | La première et la troisème | + | La première et la troisième |
| - | Une variable peut "dépendre" | + | Une variable peut « dépendre |
| a = 4 | a = 4 | ||
| a = a + 1 | a = a + 1 | ||
| a | a | ||
| - | Attention à la casse ! 'A' | + | Attention à la casse ! « A » est différent de « a ». |
| === Notion de type === | === Notion de type === | ||
| - | On n'a utilisé que des entiers pour l' | + | On n'a utilisé que des entiers pour l' |
| a = 5 | a = 5 | ||
| a / 2 | a / 2 | ||
| - | On obtient 2, et pas 2.5. Pourquoi ? python arrondi tout simplement à l' | + | 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 = 5.0 | ||
| a / 2 | a / 2 | ||
| - | Un autre type très courant est la " | + | Un autre type très courant est la « chaine |
| une_chaine = "Je suis une chaine." | une_chaine = "Je suis une chaine." | ||
| une_chaine | une_chaine | ||
| - | On peut 'ajouter' | + | On peut « ajouter |
| a = " | a = " | ||
| b = "Monde !" | b = "Monde !" | ||
| Ligne 61: | Ligne 74: | ||
| b = " | b = " | ||
| b | b | ||
| - | Notez la différence entre les 2 résultats. La première fois python affiche un entier, la seconde une chaîne | + | Notez la différence entre les 2 résultats. La première fois python affiche un entier, la seconde une chaine |
| a+b | a+b | ||
| - | Une erreur résulte de ce calcul, puisque a et b sont de type différents. | + | |
| + | Une erreur résulte de ce calcul, puisque | ||
| + | |||
| ==== Premier script ==== | ==== 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' | ||
