Le langage Python Fondamentaux de l’algorithmique 1 / 45 Outline 1 Plan 2 Les B

Le langage Python Fondamentaux de l’algorithmique 1 / 45 Outline 1 Plan 2 Les Bases Types de Base Opérateurs 3 Instructions d’entrée/sortie 4 Structures de contrôle Expression booléenne Instruction conditionnelle Boucles Fondamentaux de l’algorithmique 2 / 45 Plan 1 Plan 2 Les Bases Types de Base Opérateurs 3 Instructions d’entrée/sortie 4 Structures de contrôle Expression booléenne Instruction conditionnelle Boucles Fondamentaux de l’algorithmique 3 / 45 Plan Paradigmes de Programmation Programmation impérative : décrit les séquences exactes des commandes à exécuter. Programmation structurée/procédurale FORTRAN, PASCAL, C, ... Programmation Orientée Objet C++, Java, C#,Python, ... Fondamentaux de l’algorithmique 4 / 45 Plan Paradigmes de Programmation Programmation impérative : décrit les séquences exactes des commandes à exécuter. Programmation structurée/procédurale FORTRAN, PASCAL, C, ... Programmation Orientée Objet C++, Java, C#,Python, ... Programmation déclarative : décrit ce qu’il faut faire, pas comment le faire Programmation fonctionnelle Lisp, ML, ... Programmation logique Prolog Fondamentaux de l’algorithmique 4 / 45 Python Développé par Guido van Rossum au début des années 1990. A télécharger http : //www.python.org Langage interprété : fonctionne avec un évaluateur d’expressions du langage Langage orienté objet : tout est un objet Typage dynamique : les variables n’ont pas un type prédéfini Types collection prédéfinis et riches : Listes Tuples Ensembles Dictionaires (tables de hachage) Concis Fondamentaux de l’algorithmique 5 / 45 Propriétés du langage Indentation à la place des accolades Plusieurs types de séquences Chaines de caractères "...", ’...’ : séquence de caractères, immutable Listes [...] : séquence de "n’importe quoi", mutable Tuples (...) : séquence de "n’importe quoi", immutable Exceptions et itérateurs comme dans Java Système objet simple Fondamentaux de l’algorithmique 6 / 45 Ce qu’est programmer Fondamentaux de l’algorithmique 7 / 45 Syntaxe et Sémantique Erreur de Syntaxe : violation d’une règle du langage de programmation (grammaire). "Moi parle Anglais bien." Utiliser des mots clef valides mais au mauvais endroit Détecté par un compilateur Erreur de Sémantique : erreur logique : "Cette phrase est écrite en Italien" Un programme syntaxiquement correct mais ne fournissant pas le résultat attendu L’utilisateur observe la sortie de l’exécution d’un programme Fondamentaux de l’algorithmique 8 / 45 Apprendre à programmer Syntaxe – Comme apprendre l’Anglais Algorithmes – Comme apprendre à raconter une histoire cohérente (pas forcément en Anglais) Bibliothèques – Comme apprendre à réutliser un travail (code) fait par quelqu’un d’autre Ce sont des processus d’apprentissage différents Fondamentaux de l’algorithmique 9 / 45 Interpréteur Python Interface interactive pour Python kais$ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Fondamentaux de l’algorithmique 10 / 45 Interpréteur Python Interface interactive pour Python kais$ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Python prompts with ′ >>>′. Fondamentaux de l’algorithmique 10 / 45 Interpréteur Python Interface interactive pour Python kais$ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Python prompts with ′ >>>′. L’interpréteur Python évalue l’entrée : >>> 3*(5+6) 33 >>> 3**2 9 >>> "toto"+"gogo" ’totogogo’ >>> "do"*3 ’dododo’ Fondamentaux de l’algorithmique 10 / 45 Interpréteur Python Interface interactive pour Python kais$ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Python prompts with ′ >>>′. L’interpréteur Python évalue l’entrée : >>> 3*(5+6) 33 >>> 3**2 9 >>> "toto"+"gogo" ’totogogo’ >>> "do"*3 ’dododo’ Pour quitter Python: exit() ou ctrl-D (Unix,Mac OS), ctrl-Z (Windows) Fondamentaux de l’algorithmique 10 / 45 Pycharm Integrated Development Environment (IDE) Shell pour une évaluation intéractive. Editeur de texte avec coloriage du code et une indentation intelligente. Menu pour changer les paramètre du système et exécuter des fichiers Python. Fondamentaux de l’algorithmique 11 / 45 Pycharm Integrated Development Environment (IDE) Shell pour une évaluation intéractive. Editeur de texte avec coloriage du code et une indentation intelligente. Menu pour changer les paramètre du système et exécuter des fichiers Python. Fondamentaux de l’algorithmique 11 / 45 Plan 1 Plan 2 Les Bases Types de Base Opérateurs 3 Instructions d’entrée/sortie 4 Structures de contrôle Expression booléenne Instruction conditionnelle Boucles Fondamentaux de l’algorithmique 12 / 45 Exemple de code Fondamentaux de l’algorithmique 13 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation Fondamentaux de l’algorithmique 14 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation La première affectation à une variable la crée. Le type d’une variable n’est pas renseigné au préalable. Python trouve le type d’une variable en fonction du contexte (le type de l’expression qui lui est affectée). Fondamentaux de l’algorithmique 14 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation La première affectation à une variable la crée. Le type d’une variable n’est pas renseigné au préalable. Python trouve le type d’une variable en fonction du contexte (le type de l’expression qui lui est affectée). L’affectation utilise = alors que le test d’égalité utilise ==. Fondamentaux de l’algorithmique 14 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation La première affectation à une variable la crée. Le type d’une variable n’est pas renseigné au préalable. Python trouve le type d’une variable en fonction du contexte (le type de l’expression qui lui est affectée). L’affectation utilise = alors que le test d’égalité utilise ==. Opérations sur les nombres : + - * / %. Utilisation spéciale de l’opérateur + pour concaténer deux chaînes de caractères . Utilisation spéciale de l’opérateur % pour formatter une chaîne de caractère (comme en C pour printf) Fondamentaux de l’algorithmique 14 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation La première affectation à une variable la crée. Le type d’une variable n’est pas renseigné au préalable. Python trouve le type d’une variable en fonction du contexte (le type de l’expression qui lui est affectée). L’affectation utilise = alors que le test d’égalité utilise ==. Opérations sur les nombres : + - * / %. Utilisation spéciale de l’opérateur + pour concaténer deux chaînes de caractères . Utilisation spéciale de l’opérateur % pour formatter une chaîne de caractère (comme en C pour printf) Opérateurs logiques sont des mots (and, or, not), et non pas des symboles (comme en C). Fondamentaux de l’algorithmique 14 / 45 Compréhension du Code Indentation importe pour le sens du code: La structure d’un bloc est déterminée par l’indentation La première affectation à une variable la crée. Le type d’une variable n’est pas renseigné au préalable. Python trouve le type d’une variable en fonction du contexte (le type de l’expression qui lui est affectée). L’affectation utilise = alors que le test d’égalité utilise ==. Opérations sur les nombres : + - * / %. Utilisation spéciale de l’opérateur + pour concaténer deux chaînes de caractères . Utilisation spéciale de l’opérateur % pour formatter une chaîne de caractère (comme en C pour printf) Opérateurs logiques sont des mots (and, or, not), et non pas des symboles (comme en C). Simple affichage avec print (print (quelque chose,end =" ") finit avec un espace au lieu d’un retour à la ligne). Fondamentaux de l’algorithmique 14 / 45 Plan 2 Les Bases Types de Base Opérateurs Fondamentaux de l’algorithmique 15 / 45 Types de Base Entiers (par défaut pour les nombres) z = 5 * 2+3 Fondamentaux de l’algorithmique 16 / 45 Types de Base Entiers (par défaut pour les nombres) z = 5 * 2+3 Réels x = 3.456 z=5/2 Fondamentaux de l’algorithmique 16 / 45 Types de Base Entiers (par défaut pour les nombres) z = 5 * 2+3 Réels x = 3.456 z=5/2 Chaînes de caractères On peut utiliser "" : "abc", ou ” : ’abc’. Apostrophes peuvent faire partie d’une chaîne de caractères : "don’t" Utiliser triple guillemets pour des chaînes de caractères sur plusieurs lignes ou contenant ’ et " : """a’b"c""" Fondamentaux de l’algorithmique 16 / 45 Commentaires et espaces Commencer un commentaire avec # ... le reste de la ligne est ignoré. Fondamentaux de l’algorithmique 17 / 45 Commentaires et espaces Commencer un commentaire avec # ... le reste de la ligne est ignoré. Les espaces ont un sens en Python : spécialement l’indentation et le placement d’une nouvelle ligne. Fondamentaux de l’algorithmique 17 / 45 Commentaires et espaces Commencer un commentaire avec # ... le reste de la ligne est ignoré. Les espaces ont un sens en Python : spécialement l’indentation et le placement d’une nouvelle ligne. Pas d’accolades { } pour délimiter un bloc de code en Python... Utiliser une indentation cohérente. La première ligne avec une plus petite indentation est considérée comme en uploads/Ingenierie_Lourd/ chapitre-1 15 .pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager