Python programmer
<span class="mw-headline" id="Python_programmer« >Python programmer
L’acronyme LAMP qui décrit une combinaison de technologies nécessaires pour développer une plateforme entièrement open source de développement Web, est le plus souvent l’habitude d’utiliser PHP, Perl ou parfois. Trop souvent oublié, le triumvirat troisième larron de PHP / Perl / Python est un langage qui n’a pas encore prouvé bureau côté, et représente une alternative solide à l’Web.Aujourd hui en concurrence directe avec le langage Ruby, y compris le cadre Rails est un plus indéniable pour les développeurs web à la recherche d’autres occasions, il partage avec lui une communauté forte et une syntaxe très naturelle, ce qui rend cette langue un favori au cours du développement ‘pour le fun’.
Ces bases sont utilisées pour écrire des scripts assez avancé. De toute évidence, l’intérêt de Python ne s’arrête pas là, mais je ne vais pas peser mes mots avec les définitions de fonctions, classes, la gestion des exceptions, l’introspection … Pour cela, la documentation officielle est assez uniforme et de l’enseignement, et je ne peux pas conseiller vous de Gérard Swinnen cours «Apprendre à programmer avec Python’, également adaptée à l’apprentissage d’une langue maternelle que pour une amélioration de Python.
Python peut être utilisé pour le script de maintenance simples, ou des tâches de services publics dans les grands projets.Mais Python peut aussi être utilisé pour effectuer des tâches plus complexes avec une entreprise plus mature. Grâce à sa portabilité, Python permet de surmonter le problème de la plate-forme et les performances peuvent remplacer les scripts shell Unix ou Windows PowerShell.
En l’absence d’obus sur le déploiement de plateforme, utilisation par exemple dans un projet Java de Jython, la mise en œuvre de l’interprète en Java, permet à l’application pour gérer leurs programmes de traitement. Mais en Java, depuis Java 1.6, il est possible avec la mise en œuvre de la spécification JSR 223 de, utilisez le moteur de script directement depuis l’application Java. Cela permet de tirer pleinement parti de code existant sous forme de scripts.
Avec le regain d’intérêt pour les langages de script, comme en témoigne la hausse de Ruby ou Groovy, Python peut montrer un vif intérêt. Trouver son chemin dans de nombreuses plateformes (téléphone supercalculateur), et pour de nombreuses applications allant de la simple traitement par lots pour des applications interactives avec une interface Qt par exemple, ou une interface Web, générer du code Python est toujours un investissement dans le long terme.
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 pour use.It 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 à des concepts de base de programmation.
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 fo
rtement 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.
Interfaces graphiques
Python dispose de plusieurs modules disponibles pour créer des logiciels avec une interface graphique. La plus courante est Tkinter.Ce module est adapté pour de nombreuses applications et peut être considérée comme satisfaisante dans la plupart des cas. Toutefois, d’autres modules ont été créés pour être en mesure de lien avec les bibliothèques Python autres logiciels (‘boîte à outils») pour plus de fonctionnalités pour une meilleure intégration avec le système d’exploitation, ou tout simplement d’utiliser Python avec sa bibliothèque préférée. En effet, certains programmeurs utilisent Tkinter plus douloureux que d’autres bibliothèques. Ces modules d’autres ne font pas partie de la bibliothèque standard et doit donc être obtenue séparément.
Les principaux modules pour accéder aux bibliothèques sont GUI pour Tk Tkinter, wxPython pour wxWidgets, PyGTK pour GTK, Qt et PyQt PySide, FxPy pour la FOX Toolkit, et PMW pour Mega-widgets, il ya aussi une mise en œuvre de la SDL: Pygame, un liaison de SFML: PySFML et une bibliothèque écrite spécifiquement pour Python: pyglet (fr).
Usages
Python est un langage qui peut être utilisé dans de nombreux contextes et s’adapter à tout type d’utilisation par les bibliothèques spécialisées à chaque traitement. Mais il est surtout utilisé comme un langage de script pour automatiser les tâches fastidieuses, mais simple exemple de script qui récupère la météo sur Internet ou s’insérer dans un ordinateur logiciel de conception assistée par d’automatiser certaines séquences répétitives d’actions.Il est aussi utilisé comme une langue pour le développement d’un prototype lorsque vous avez besoin d’une application fonctionnelle avant de l’optimiser une language.It niveau inférieur est particulièrement répandu dans le monde scientifique, et dispose de nombreuses extensions pour les applications numériques.
Standard Library
Python a une grande bibliothèque standard, fournissant des outils appropriés pour de nombreuses tâches différentes. Le nombre de modules de la bibliothèque standard peut être augmentée avec des modules spécifiques écrits en C ou Python.
La bibliothèque standard est particulièrement bien conçu pour l’écriture d’applications utilisant l’Internet, avec un grand nombre de formats et de protocoles standards gérés (comme MIME et HTTP). Les modules pour créer des interfaces graphiques et de manipuler des expressions sont également fournis. Python comporte également un framework de tests unitaires afin de créer des suites de tests complets.
Développement
Le PEP
‘