• Aide
  • Eurêkoi Eurêkoi

Livre

Python 3 : apprendre à programmer dans l'écosystème Python

Résumé

Synthèse pour s'initier aux dernières innovations de ce langage de programmation. L'emploi des outils pédagogiques interactifs (Pyzo et Jupyter Notebook) consolide la démarche pédagogique. Avec 180 exercices corrigés accessibles en ligne.


  • Autre(s) auteur(s)
  • Contributeur(s)
  • Éditeur(s)
  • Date
    • 2020
  • Notes
    • La 4e de couv. indique : "Les + en ligne : retrouvez sur https://www.dunod.com/EAN/9782100809141 et sur https://github.com/lpointal/appbclp : les programmes des exercices et des exemples, une documentation sur l'installation et l'usage des notebooks Jupyter, les exercices corrigés supplémentaires"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
    • IUT, BTS, Licence, Écoles d'ingénieurs
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XVI-236 p.) : ill. en coul. ; 24 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-10-080914-1
  • Indice
  • Quatrième de couverture
    • Python 3

      Apprendre à programmer dans l'écosystème Python

      2e édition

      Cet ouvrage est destiné aux étudiants débutants en programmation, qu'ils soient en IUT, en BTS, en licence, en classes prépas ou école d'ingénieurs.

      Il est également conçu pour les autodidactes qui veulent s'initier à la programmation et pour les professeurs du secondaire qui souhaitent enseigner Python comme premier langage.

      Cet ouvrage vous fournira les bases de l'apprentissage de la programmation avec Python 3, langage à la fois simple, puissant et polyvalent. Il s'appuie sur la version Python 3.8, publiée en septembre 2019.

      La démarche pédagogique, accompagnée d'exemples illustrant le programme Numérique et sciences informatiques du lycée, est renforcée par l'usage de Pyzo et des notebooks Jupyter, outils pédagogiques interactifs qui permettent au lecteur de tester aisément son code et de mettre en oeuvre les connaissances qu'il acquiert.

      L'usage de la couleur permet de bien faire comprendre les différents éléments qui constituent le code.

      Cet ouvrage offre un total de 180 exercices corrigés accessibles sur le web, dont certains sont aussi présents dans la version imprimée.


  • Tables des matières
      • Python 3

      • Apprendre à programmer dans l'écosystème Python

      • Bob Cordeau

      • Laurent Pointai

      • Gérard Swinnen

      • Dunod

      • Préface v
      • Avant-propos xiii
      • 1 Programmer en Python1
      • 1.1 Mais pourquoi donc apprendre à programmer ?1
      • 1.1.1 Un exemple pratique2
      • 1.1.2 Et après ?5
      • 1.2 Mais pourquoi donc apprendre Python ?6
      • 1.2.1 Principales caractéristiques du langage Python6
      • 1.2.2 Implémentations de Python7
      • 1.3 Comment passer du problème au programme8
      • 1.3.1 Réutiliser8
      • 1.3.2 Réfléchir à un algorithme8
      • 1.3.3 Résoudre « à la main »9
      • 1.3.4 Formaliser9
      • 1.3.5 Factoriser9
      • 1.3.6 Passer de l'idée au programme10
      • 1.4 Techniques de production des programmes10
      • 1.4.1 Technique de production de Python11
      • 1.4.2 Construction des programmes11
      • 1.5 Résumé et thèmes de réflexion12
      • 2 La calculatrice Python13
      • 2.1 Modes d'exécution d'un code Python13
      • 2.2 Identificateurs et mots-clés14
      • 2.2.1 Identificateurs14
      • 2.2.2 Mots-clés de Python 314
      • 2.2.3 PEP 8 : une affaire de style14
      • 2.2.4 Nommage des identificateurs15
      • 2.3 Notion d'expression15
      • 2.4 Variable et objet16
      • 2.4.1 Affectation16
      • 2.4.2 Réaffectation et typage dynamique17
      • 2.4.3 Attention : affecter n'est pas comparer !18
      • 2.4.4 Variantes de l'affectation18
      • 2.4.5 Suppression d'une variable19
      • 2.4.6 Énumérations19
      • 2.5 Types de données entiers21
      • 2.5.1 Type int21
      • 2.5.2 Type bool22
      • 2.6 Types de données flottants23
      • 2.6.1 Type float24
      • 2.6.2 Type complex24
      • 2.7 Chaînes de caractères25
      • 2.7.1 Présentation25
      • 2.7.2 Séquences d'échappement25
      • 2.7.3 Opérations26
      • 2.7.4 Fonctions vs méthodes26
      • 2.7.5 Méthodes de test de l'état d'une chaîne27
      • 2.7.6 Méthodes retournant une nouvelle chaîne27
      • 2.7.7 Méthode retournant un index27
      • 2.7.8 Indexation simple28
      • 2.7.9 Slicing28
      • 2.7.10 Formatage de chaînes29
      • 2.8 Types binaires34
      • 2.9 Entrées-sorties de base35
      • 2.10 Comment trouver une documentation36
      • 2.11 Résumé et exercices37
      • 3 Contrôle du flux d'instructions39
      • 3.1 Indentation significative et instructions composées39
      • 3.2 Choisir40
      • 3.2.1 Choisir : if - [elif] - [else]40
      • 3.2.2 Syntaxe compacte d'une alternative41
      • 3.3 Boucles41
      • 3.3.1 Parcourir : for42
      • 3.3.2 Répéter sous condition : while42
      • 3.4 Ruptures de séquences43
      • 3.4.1 Interrompre une boucle : break43
      • 3.4.2 Court-circuiter une boucle : continue43
      • 3.4.3 Traitement des erreurs : les exceptions44
      • 3.5 Résumé et exercices45
      • 4 Conteneurs standard49
      • 4.1 Séquences49
      • 4.2 Listes50
      • 4.2.1 Définition, syntaxe et exemples50
      • 4.2.2 Initialisations, longueur de la liste et tests d'appartenance51
      • 4.2.3 Méthodes modificatrices51
      • 4.2.4 Manipulation des index et des slices52
      • 4.3 Tuples52
      • 4.4 Séquences de séquences53
      • 4.5 Retour sur les références53
      • 4.5.1 Les références partagées des objets immutables54
      • 4.5.2 Les références partagées des objets mutables54
      • 4.5.3 L'affectation augmentée55
      • 4.6 Tables de hash57
      • 4.7 Dictionnaires59
      • 4.8 Ensembles60
      • 4.9 Itérer sur les conteneurs62
      • 4.10 Résumé et exercices63
      • 5 Fonctions et espaces de nommage65
      • 5.1 Définition et syntaxe65
      • 5.2 Passage des arguments67
      • 5.2.1 Mécanisme général67
      • 5.2.2 Un ou plusieurs paramètres positionnels, pas de retour67
      • 5.2.3 Un ou plusieurs paramètres positionnels, un ou plusieurs retours68
      • 5.2.4 Appel avec des arguments nommés69
      • 5.2.5 Paramètres avec valeur par défaut70
      • 5.2.6 Nombre d'arguments arbitraire : passage d'un tuple de valeurs70
      • 5.2.7 Nombre d'arguments arbitraire : passage d'un dictionnaire71
      • 5.2.8 Argument mutable71
      • 5.3 Espaces de nommage72
      • 5.3.1 Portée des objets73
      • 5.3.2 Résolution des noms : règle « LEGB »73
      • 5.4 Résumé et exercices74
      • 6 Modules et packages77
      • 6.1 Modules77
      • 6.1.1 Imports78
      • 6.1.2 Localisation des fichiers modules79
      • 6.1.3 Emplois et chargements des modules80
      • 6.2 Packages85
      • 6.3 Résumé et exercices87
      • 7 Accès aux données89
      • 7.1 Fichiers89
      • 7.1.1 Gestion des fichiers90
      • 7.1.2 Ouverture et fermeture des fichiers en mode texte91
      • 7.1.3 Écriture séquentielle91
      • 7.1.4 Lecture séquentielle92
      • 7.1.5 Gestionnaire de contexte with92
      • 7.1.6 Fichiers binaires93
      • 7.2 Travailler avec des fichiers et des répertoires93
      • 7.2.1 Se positionner dans l'arborescence93
      • 7.2.2 Construction de noms de chemins94
      • 7.2.3 Opérations sur les noms de chemins94
      • 7.2.4 Gestion des répertoires94
      • 7.3 Sérialisation avec pickle et j son95
      • 7.4 Bases de données relationnelles96
      • 7.4.1 Comprendre le langage SQL96
      • 7.4.2 Utiliser SQL en Python avec sqlite397
      • 7.5 Micro-serveur web106
      • 7.5.1 Internet106
      • 7.5.2 Web108
      • 7.5.3 Un serveur web en Python108
      • 7.6 Résumé et exercices113
      • 8 Programmation orientée objet115
      • 8.1 Origine et évolution115
      • 8.2 Terminologie116
      • 8.3 Définition des classes et des instanciations d'objets117
      • 8.3.1 Instruction class117
      • 8.3.2 L'instanciation et ses attributs, le constructeur118
      • 8.3.3 Retour sur les espaces de noms120
      • 8.4 Méthodes121
      • 8.5 Méthodes spéciales122
      • 8.5.1 Surcharge des opérateurs123
      • 8.5.2 Exemple de surcharge123
      • 8.6 Héritage et polymorphisme124
      • 8.6.1 Formalisme de l'héritage et du polymorphisme124
      • 8.6.2 Exemple d'héritage et de polymorphisme126
      • 8.7 Notion de « conception orientée objet »127
      • 8.7.1 Relation, association127
      • 8.7.2 Dérivation128
      • 8.8 Résumé et exercices129
      • 9 La programmation graphique orientée objet131
      • 9.1 Programmes pilotés par des événements131
      • 9.2 Bibliothèque tkinter131
      • 9.2.1 Présentation131
      • 9.2.2 Les widgets de tkinter133
      • 9.2.3 Positionnement des widgets133
      • 9.3 Deux exemples134
      • 9.3.1 Une calculette134
      • 9.3.2 tkPhone134
      • 9.4 Résumé et exercices141
      • 10 Programmation avancée143
      • 10.1 Techniques procédurales143
      • 10.1.1 Pouvoir de l'introspection143
      • 10.1.2 Utiliser un dictionnaire pour déclencher des fonctions ou des méthodes145
      • 10.1.3 Listes, dictionnaires et ensembles définis en compréhension146
      • 10.1.4 Générateurs et expressions génératrices148
      • 10.1.5 Décorateurs149
      • 10.2 Techniques objets151
      • 10.2.1 Functors151
      • 10.2.2 Accesseurs152
      • 10.2.3 Duck typing155
      • 10.2.4 Duck typing... et annotations de types157
      • 10.3 Algorithmique158
      • 10.3.1 Directive lambda158
      • 10.3.2 Fonctions incluses et fermetures159
      • 10.3.3 Techniques fonctionnelle : fonctions map, filter et reduce160
      • 10.3.4 Programmation fonctionnelle pure162
      • 10.3.5 Applications partielles de fonctions163
      • 10.3.6 Constructions algorithmiques de base164
      • 10.3.7 Fonctions récursives172
      • 10.4 Résumé et exercices175
      • 11 L'écosystème Python177
      • 11.1 Batteries included177
      • 11.1.1 Gestion des chaînes177
      • 11.1.2 Gestion de la ligne de commande178
      • 11.1.3 Gestion du temps et des dates179
      • 11.1.4 Algorithmes et types de données collection179
      • 11.2 L'écosystème Python scientifique180
      • 11.2.1 Bibliothèques mathématiques et types numériques181
      • 11.2.2 IPython, l'interpréteur scientifique182
      • 11.2.3 Bibliothèques NumPy, Pandas, matplotlib et scikit-image184
      • 11.3 Bibliothèques tierces197
      • 11.4 Documentation et tests197
      • 11.4.1 Documentation197
      • 11.4.2 Tests198
      • 11.5 Microcontrôleurs et objets connectés200
      • 11.6 Résumé et exercices201
      • 12 Solutions des exercices203
      • Annexes
      • A Interlude 221
      • B Le codage des nombres et des caractères 223
      • C Les expressions régulières 229
      • D Les messages d'erreur de l'interpréteur 237
      • E Résumé de la syntaxe 255
      • Bibliographie 265
      • Glossaire et lexique anglais/français 267
      • Index 281

  • Origine de la notice:
    • BPI
  • Disponible - 681.234(07) COR

    Niveau 3 - Informatique