Programmation python
écrit le: 4 janvier 2020 par adminmodifié le 17 février 2020
- Sommaire:
- 1 <span class=”mw-headline” id=”Programmation_python“>Programmation python
- 2 Quelques exemples de langues couramment utilisées
- 3 Compilé langue
- 4 Caractéristiques
- 4.1 Syntaxe
- 4.1.1 types de base
- 4.1.2 Programmation fonctionnelle
- 4.1.3 POO
- 4.1.4 Des méthodes spéciales et la surcharge des opérateurs
- 4.1.5 Générateurs
- 4.2 Réflexivité
- 4.3 Typage
- 4.3.1 Compilation
- 4.4 Object Model
- 4.4.1 Méthodes
- 4.4.2 Visibilité
- 4.4.3 Héritage
- 5 La communauté Python
- 5.1 Adoption de Python
- 6 Développement
<span class=”mw-headline” id=”Programmation_python“>Programmation python
Python a été créé en 1990. Il s’agit d’un langage de programmation orienté objet de haut niveau. Sa syntaxe est simple, il est portable sur plusieurs systèmes d’exploitation. Sa bibliothèque standard est très riche et il ya beaucoup de bibliothèques libres. Python est extensible, c’est-à-dire qu’il est interfacé avec d’autres langues.
Comme Java, Python a besoin d’une machine virtuelle (interpréteur). Plusieurs mises en oeuvre ont été élaborés et utilisés pour compiler le code source Python dans un code intermédiaire s’exécutant sur différentes plates-formes. Sa référence est l’interprète du CPython, une mise en œuvre de C. Cette version est communément appelé Python. C’est la plus connue et la plus soutenue. Il est recommandé pour les débutants.
Jython est l’interpréteur Python écrit en Java. Son nom était autrefois JPython mais son nom a été changé en raison d’un problème de licence. Pour utiliser Jython, vous devez d’abord installer le JDK et installer Jython. Jython compile le code source Python en bytecode Java. Il produit un file.class qui permet aux programmes Python pour fonctionner sur tout machine virtuelle Java. Jython intègre classes syntaxe et Python et les classes de Java. Jython est plus lent que CPython, il a souvent retardé la mise en œuvre de nouvelles fonctionnalités ajoutées à CPython.
Microsoft a voulu démontrer que sa plate-forme supportée langages dynamiques. IronPython est codé en C #. Cette mise en œuvre compile le code source Python en cours d’exécution sur un fichier intermédiaire. Net ou sur d’autres versions de la machine virtuelle Microsoft en tant que mono ou DotGNU. Les développeurs bénéficient également des bibliothèques. Net.
Pypy est un projet de recherche gratuit financé par l’Union européenne. Il vise à mettre en œuvre un interpréteur Python en Python, ce qui devrait courir plus vite que CPython. Il compile le code Python en langage machine et produit un code exécutable. Ce projet a permis Rpython, qui apporte de nombreuses améliorations. Toutefois, PyPy est encore en développement. Il est encore deux fois plus lent que CPython.
Stackless Python est une version qui vise à éliminer l’utilisation de la pile du langage C Il s’agit d’une version complètement différente, il ne peut pas être ajouté à une installation existante. La plupart de ses fonctions ont été mises en œuvre dans PyPy, l’interpréteur Python en Python.
Les mises en œuvre ont toutes leurs caractéristiques particulières qui différencient les uns des autres. Ces caractéristiques peuvent inclure des messages d’erreur ou plus important, la mise en œuvre de certaines classes. Par exemple, le module cmath n’est pas pris en charge par IronPython. Pour comparer, la déclaration d’une classe dans IronPython est écrit:
L’évolution de Python est effectuée au cours de la PEP, des propositions d’amélioration de Python. Ils proposent des modifications textuelles et améliorations du langage. Un PEP peut être une proposition d’orientation pour le développement (processus PEP), une proposition technique (Standard Track PEP) ou une seule recommandation (Informational PEP).
[Sujet] machines utilisées dans programming.Take orienté objet de deux experts, demandez-leur des définitions, elles seront toutes radicalement différentes. Un objet est un fourre-tout, qui peut être tout et n’importe quoi. Exemple de «définition fondamentale»: «un objet a un comportement et un état qui ne peut être modifié par les actions de comportement.’ Voir: classe, héritage métaclasse par exemple,. Sous le couvert de l’octet (mai 1994): ‘Object Oriented Computing a échoué’.
Articles liés à ceci: alias Un bytecode classe courtier composante DSOM Eiffel encapsulation encapsuler HOOD génériques immuable instanciation par exemple l’héritage instancier Java orienté objet langue lao LOO Les objets des messages, méthode mutable nommer O Oberon-2 OBJ Objective Caml objet-business APD FOO OOL objet axée sur le polymorphisme de paradigme POO POO Python runtime réutilisation RTTI ORDBMS Simula SmallTalk SOM source
infoclick (Gers, 32) propose des solutions:vente de matériel informatique, maintenance informatique, installation de votre réseau d’entreprise consultancy.Sales de PC assemblés, montés informatique (Intel Pentium, AMD Athlon, AMD Sempron, etc.) PC assemblé pour la bureautique jeux et le multimédia.
Quelques exemples de langues couramment utilisées
Python est un langage de programmation multi-paradigme. Il favorise la programmation structurée impératif, orienté-objet. Il a un typage fort dynamique, la gestion automatique de la mémoire grâce à la collecte des ordures et le système de gestion des exceptions et est donc similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.
Le langage Python est sous une licence libre similaire à la licence BSD et fonctionne sur la plupart des plateformes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix via Linux et Mac OS, ou Java .. NET Il est conçu pour maximiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Il est également apprécié par les enseignants qui trouvent un langage où la syntaxe, clairement séparée de mécanismes de bas niveau, permet une introduction plus facile aux concepts de base de la programmation.
Compilé langue
Un programme écrit dans un langage appelé ‘compilé’ va être traduit une fois pour toutespar une grille de programme (le compilateur) afin de générer un nouveau fichier qui sera autonome, direQue soit pas plus besoin d’un programme autre que lui pour s’exécuter (on dit aussi que cefichier est exécutable).
Un programme écrit dans un langage compilé a l’avantage de ne pas avoir besoin de plus, une fois compilé, le calendrier déprogrammé à courir. En outre, la traduction est faite une fois pour toutes, il est plus rapide d’exécution. Toutefois, il est moins souple qu’un programme écrit dans un langage interprété, car chaque fichier source modificationdu (lisible par l’homme: celui qui sera compilé) il recompiler leProgramme pour que les modifications prennent effet.
D’autre part, un programme compilé a l’avantage d’assurer la sécurité du code source. En effet, un langageinterprété, étant directement lisible (lisible), permet à quiconque d’apprendre les secrets d’une époque de décision du programme et puis copiez le code ou le modifier. Donc, il ya risque de non-respect des copyright.On autre part, certaines applications nécessitent un code confidentiel sécurisé pour empêcher le piratage (transaction bancaire, paiement en ligne, des communications sécurisées, …).
Caractéristiques
Syntaxe
Python a été conçu pour être un langage lisible. Il vise à être visuellement propres et des mots fréquemment utilisés en anglais, où d’autres langues de signes de ponctuation, et a aussi moins de constructions que de nombreux langages structurés tels que C, Perl, ou Pascal. Les commentaires sont indiqués par le accolade.
Les blocs sont identifiés par indentation des accolades comme en C ou C, ou commencer … Fin comme en Pascal. Une augmentation de l’indentation marque le début d’un bloc, et une réduction de l’empreinte marque la fin du bloc courant. Les parenthèses sont facultatives dans les structures de contrôle:
types de base
Il est possible de déduire les types de base de classes pour créer votre propre types.We peut également produire ses propres types d’objets sans hériter itérable base itérable en mettant en œuvre le protocole d’itération de la langue.
Programmation fonctionnelle
Python vous permet de programmer dans un style fonctionnel. La compréhension de listes sont disponibles. Par exemple, pour créer la liste des carrés des nombres naturels inférieurs à 10, vous pouvez utiliser l’expression:
lambdas Python admettre que les expressions et peut être utilisé en tant que fonctions généralisées anonyme, mais en Python, toutes les fonctions sont des objets, ils peuvent être passés comme arguments à d’autres fonctions, et a appelé en cas de besoin. En effet, les fonctions définies avec def sont équivalentes à celles définies avec lambda, il est également possible de définir une fonction dans une autre fonction et d’obtenir ainsi une définition de fonction dans une variable locale, par exemple:
POO
programmation objet est très bien supportée par Python: tous les types de base, des fonctions, des instances de classe (les objets ‘classiques’ La C et Java) et les classes elles-mêmes (qui sont des instances de méta-classes) sont des objets.
Une classe est définie avec le mot classe. classes Python charge l’héritage multiple, il n’ya pas de charge statique comme en C, mais le mécanisme d’arguments optionnels et mot-clé est plus général et flexible. En Python, l’attribut d’un objet de référence peut une variable d’instance ou de classe (le plus souvent une méthode). Vous pouvez lire ou modifier un attribut dynamiquement avec les fonctions:
Des méthodes spéciales et la surcharge des opérateurs
Ces méthodes, en commençant et se terminant par deux caractères de soulignement sont appelées lorsque vous utilisez un opérateur sur l’objet:(Méthode __add__) = (__iadd__ méthode), [] (__getitem__ méthode) () (méthode __call__), … Des méthodes telles que __str__ et __repr__, définit la représentation d’un objet dans l’interpréteur interactif et rendu avec le mot-clé print.
Générateurs
Le rendement mot-clé utilisé dans une fonction pour effectuer cette fonction un generator.Calling cette fonction retourne un objet de type générateur, qui peut être utilisé dans une boucle for, par exemple.
Dans chaque appel, le générateur effectue son traitement afin de répondre aux mot-clé yield, renvoie la valeur du rendement d’expression, et le prochain appel, a repris son cours peu de temps après le rendement. Par exemple, pour calculer la suite de Fibonacci, vous pouvez faire:
Un générateur peut sembler identique à une fonction qui retourne une liste, mais contrairement à une liste qui contient tous les éléments d’un générateur calcule ses éléments un par un.
Réflexivité
Par ses nombreux dictionnaires (conteneur associatif mis en œuvre avec les tables de hachage), Python peut explorer les objets dans les différentes langues (introspection) et, dans certains cas de modifier (intercession).
Typage
Typing n’est pas vérifié au moment de la compilation.En conséquence, les opérations sur un objet peut échouer, ce qui signifie que l’objet en question est le type.Despite mal l’absence de typage statique, Python est fortement typé, interdisant les opérations avec peu de sens (comme, par exemple, l’ajout d’un numéro à une chaîne de caractères) au lieu d’essayer de silence le convertir en une forme qui fait sens. Python fournit des fonctions pour convertir des variables dans un autre type:
Compilation
Il est possible d’effectuer une analyse statique des modules Python avec des outils comme pychecker ou pylint. Sans avoir besoin d’une performance, ces outils localiser des défauts ou des structures découragés. Par exemple, une classe qui hérite d’une classe abstraite et ne remplace pas les méthodes abstraites, ou des variables utilisées avant d’être déclaré, ou les attributs d’une instance déclarée hors de la méthode __init__.
Des outils comme PyInstaller ou d’autres plus spécifiques comme Freeze Unix, OS py2exe py2app X et Windows peuvent ‘compiler’ un programme Python comme un programme exécutable et comportant un programme Python interpreter.The ne pas courir plus vite (il n’est pas compilé en code machine), mais il simplifie grandement la distribution, en particulier sur des machines où l’interpréteur Python n’est pas installé.
Object Model
tout Python est un objet dans le sens où une variable peut contenir une référence à tous les produits traités par la langue: les nombres, les méthodes, modules, etc. Toutefois, avant la version 2.2, les classes et les instances de classe était un type d’objet particulier, ce qui signifiait qu’il était impossible par exemple de tirer ses propres sous-catégorie de la liste d’objets.
Méthodes
Le Python Object Model est basé sur celui de Modula-3. Parmi ces prêts est de l’obligation de déclarer l’instance de l’objet, classiquement appelé self comme premier argument de méthodes, et à chaque fois que veut accéder à une instance donnée de ce dans le corps de cette pratique method.This n’est pas naturel pour les programmeurs par exemple de C ou Java, la profusion de soi est souvent critiqué comme une honte que la lecture du code génétique. Les partisans de l’auto explicite croient plutôt que d’éviter l’utilisation de conventions de nommage pour les membres de données et qui simplifie les tâches telles que l’appel d’une méthode de la superclasse ou la résolution de l’homonymie entre les membres de données. Il permet également des méthodes de traitement et de fonctions orthogonales.
Visibilité
La langue est un support très limité pour l’encapsulation. Il n’est pas, comme en java pour contrôle d’accès par exemple, par mots-clés tels que protégés ou privés.
la philosophie de Python est de différencier conceptuellement l’encapsulation de cacher de l’information. Le masquage d’information est de prévenir l’utilisation frauduleuse, il est un sujet de préoccupation pour la sécurité informatique. Le bastion module de la bibliothèque standard, ce qui n’est plus maintenu dans les dernières versions de la langue, contrôlant ainsi l’accès aux attributs d’un objet dans un environnement d’exécution restreint.
L’encapsulation est un problème de développement de logiciels. Le slogan des développeurs Python, c’est que nous sommes tous ici d’adultes (nous sommes entre adultes consentants). Ils estiment qu’il suffit d’indiquer, par des conventions d’écriture, toutes les interfaces utilisateurs et du public à son objection à se conformer à ces accords ou prendre des responsabilités. Il est de coutume de faire précéder par un underscore les membres privés. Le langage permet aussi d’utiliser un double underscore pour éviter les collisions de noms faisant précéder le nom donné automatiquement dans cette classe où elle est définie.
L’utilisation de la fonction de propriété () pour définir des propriétés qui sont destinés à intercepter, en utilisant des méthodes, l’accès à un membre de données. Il est donc inutile de définir une accesseurs systématique et masquage des données comme il est courant de le faire dans l’exemple C.
Héritage
Python supporte l’héritage multiple. Depuis la version 2.3, il utilise la C3 algorithme, de la langue de Dylan, de résoudre l’ordre de résolution de méthode (MRO). Versions précédentes utilisaient un algorithme de parcours en profondeur d’abord qui a été problématique dans le cas de l’héritage de diamants.
La communauté Python
Van Rossum est le principal auteur de Python et de son rôle central en tant décideur permanent humour Python est reconnu par le titre de ‘dictateur bienveillant à vie» (Benevolent Dictator for Life, DBAV).
Il est assisté par une équipe de développeurs du noyau qui ont accès en écriture au dépôt de CPython et qui coordonnent la liste de diffusion python-dev. Ils travaillent principalement sur le langage et la bibliothèque de base. Ils reçoivent parfois des contributions d’autres développeurs via le Roundup Python bug de gestion de plate-forme, qui a remplacé SourceForge.
Les références aux Monty Python sont assez fréquents. Les tutoriels sur Python utilisent souvent des mots comme variable.This METASYNTAXE spam et les œufs est une référence à l’épisode 25 de la deuxième saison de Monty Python’s Flying Circus, ou deux clients tentent de commander un repas à l’aide d’une carte qui contient jambon en conserve (Spam) dans pratiquement tous les plats. Ce dessin a également été utilisé comme référence pour désigner un courriel non sollicité.
Adoption de Python
Développement
Le PEP
‘