Contenu du cours
Types et arithmétique de base
Découvrons les types de base de Python : nombres (entiers, flottants, complexes), chaînes de caractères, structures conteneurs (tuples, listes, ensembles, dictionnaires), fonctions et exceptions..
0/4
Variables et constantes
Découvrons ensemble les variables et leurs cousins les constantes ainsi que les types dans la programmation Python. Allons-y!
0/2
Les bases de la programmation python
À propos de la leçon

Python présente plusieurs avantages qui le place parmi les langages de choix pour l’apprentissage de la programmation de nos jours. Parmi ces avantages qui le place en avant :

  • Il est gratuit et “Open Source”, on peut l’utiliser sans restriction dans des projets commerciaux.
  • Il est portable, non seulement sur les différentes variantes d’Unix et Linux, mais aussi sur les OS propriétaires: MacOS, BeOS, NeXTStep, MS-DOS .. et les différentes variantes de Windows.
  • Il convient aussi bien à des scripts d’une dizaine de lignes de code qu’à des projets complexes de plusieurs dizaines de milliers de lignes.
  • Sa syntaxe est très simple et, combinée à des types de données évolués (listes, dictionnaires ..), conduit à des programmes à la fois très compacts et très lisibles. A fonctionnalités égales, un programme Python complet de commentaires est souvent de 3 à 5 fois plus court qu’un programme C ou C++, ou même Java équivalent, ce qui représente en général un temps de développement de 5 à 10 fois plus court et une facilité de maintenance largement accrue.
  • Il gère ses ressources (mémoire, descripteurs de fichiers ..) sans intervention du programmeur, par un mécanisme de comptage de références (proche, mais différent, d’un “garbage collector”, ramasse miettes). Il n’y a pas de pointeurs explicites en Python.
  • Il est aussi multi-threadé.
  • Il est orienté objet. Il supporte l’héritage multiple et la surcharge des opérateurs. Dans son modèle objet, et en reprenant la terminologie de C++, toutes les méthodes sont virtuelles.
  • Comme Java ou les versions récentes de C++, il intègre un système d’exceptions, qui permettent de simplifier considérablement la gestion des erreurs.
  • Il est dynamique (l’interpréteur peut évaluer des chaînes de caractères représentant des expressions ou des instructions Python), orthogonal (un petit nombre de concepts suffit à engendrer des constructions très riches), réflectif (il supporte la méta-programmation, par exemple la capacité pour un objet de se rajouter ou de s’enlever des attributs ou des méthodes, ou même de changer de classe en cours d’exécution) et introspectif (un grand nombre d’outils de développement, comme le “debugger” ou le “profiler”, sont implantés en Python lui-même).
  • Comme Scheme ou SmallTalk, Python est dynamiquement typé. Tout objet utilisé par le programmeur possède un type bien défini à l’exécution, qui n’a pas besoin d’être déclaré à l’avance.
  • Il possède actuellement deux implémentations. L’une, écrite en C, interprétée, dans laquelle les programmes Python sont compilés en instructions portables, puis exécutés par une machine virtuelle (comme pour Java, avec une différence importante: Java étant statiquement typé, il est beaucoup plus facile d’accélérer l’exécution d’un programme Java que d’un programme Python). L’autre, JPython, est écrit en Java et génère directement du bytecode Java.
  • Python est extensible : comme Tcl ou Guile, on peut facilement l’interfacer avec des bibliothèques C existantes. On peut aussi s’en servir comme d’un langage d’extension pour des systèmes logiciels complexes.
  • La bibliothèque standard de Python, et les paquets contribués, donnent accès à une grande variété de services: chaînes de caractères et expressions régulières, services UNIX standards (fichiers, pipes, signaux, sockets, threads…), protocoles Internet (Web, News, FTP, CGI, HTML ..), persistance et bases de données, interfaces graphiques.
  • C’est un langage qui continue à évoluer, soutenu par une communauté d’utilisateurs enthousiastes et responsables, dont la plupart sont des supporters du logiciel libre.
  • Enfin, Python est un langage de choix pour traiter le XML.
Retour en haut