Programmer la langue Python Comment travailler. Comment étudier l'apprentissage de la machine? Compilation dynamique et code octet

Est-ce que cela vaut la peine d'apprendre la langue de la programmation Python? Après tout, il est souvent possible d'entendre que cette langue meurt. Ce problème a examiné les utilisateurs du site Web de Quora et a partagé ses opinions.

Bill Carrne, développeur SQL, consultant, autocar et auteur

La langue d'assembleur vous donne une excellente occasion d'écrire un code compact, efficace et optimisé pour le projet. Dans cette langue écrite dans cette langue, occupant seulement quelques kilo-octets, vous pouvez créer des choses étonnantes. Mais le niveau d'efficacité qui peut être obtenu à l'aide de la langue d'assembleur ne justifie pas de travail supplémentaire, trop de temps et les compétences nécessaires.

Il est vrai que les langues gagnent la popularité et la perdent. La productivité est la tâche principale de la programmation, donc de temps en temps, de nouvelles langues sont créées, qui augmentent la productivité, du moins pour certains types de travail.

La plupart des programmeurs utilisent aujourd'hui des langues plus haut niveau - Ils doivent être plus productifs. Les langues de haut niveau peuvent être compilées dans le code de la machine (C ou C ++) et peuvent être compilées dans un bytecode avec une architecture indépendante et exécuter machine virtuelle (Java) Illy être traité (JavaScript, PHP, Ruby, Python, Perl et al.).

L'opinion erronée est qu'il est nécessaire d'enseigner la langue des assembleurs, car "il est meilleur que Python". Ceci est un point de vue stupide construit sur des données obsolètes.

Bill Header, directeur exécutif ICPC, logiciels dans les domaines de l'énergie, de la génétique synthétique, etc.

Étude python. Fournissez-vous d'expérience dans la programmation. Il y a sa propre élégance dans cette langue.

Excédent c comme langue pour les machines UNIX. La compréhension Unix est relativement facile.

Apprendre à comprendre le knuth.

Apprenez Java, afin de ne pas avoir de difficultés à travailler avec d'autres, ainsi que de programmation orientée vers l'objet maître.

Examinez C ++ pour programmer dans n'importe quel style que vous le souhaitez. Son pouvoir est que c'est le principal langage de programmation. Sa faiblesse est que pour la programmation, il est nécessaire de comprendre son style.

Examinez LISP pour renforcer votre compréhension de la récursivité.

Ai-je dit que vous ne devriez pas apprendre au moins quelque chose? Pas. Parce que la seule chose à faire est de vous apprendre à une étude permanente de tout, surtout pour étudier la manière dont vous pouvez résoudre des problèmes.

Shiva shinde, sur langage python facile à parcourir, mais il est difficile de lire

Le langage de programmation Python ne meure pas, c'est l'une des langues de croissance la plus rapide.

  1. Il est facile d'explorer
  • Pour le moment, 8 des 10 meilleurs programmes américains d'informatique utilisent cette langue (Philip Guo, CACM)
  • Les programmes de Python, en règle générale, ont un minimum de modèles que l'on trouve généralement dans d'autres langages de programmation. Par conséquent, vous pouvez utiliser plus souvent des solutions de tâches non-sabrmed.
  • Si vous avez une expérience de programmation, même si vous n'êtes pas cette langue, vous maîtriserez rapidement Python.

2. Fonctionnalité complète

  • Ce n'est pas simplement une langue pour les données statistiques. Python a toutes les possibilités de collecte et de nettoyage des données, de travailler avec des bases de données et des calculs hautes performances, ainsi que de nombreux autres.
  • Ce langage de programmation généralement accepté avec un grand nombre de bibliothèques intégrées. Il est bon de gérer des données et des bases de données, ainsi que de travailler avec la programmation de réseau. C'est une langue réfléchie avec un grand nombre de ressources disponibles.

3. Bibliothèques science graves

  • Python a des bibliothèques scientifiques importantes avec une énorme quantité de données à utiliser.
  • La base de ces bibliothèques scientifiques Est l'écosystème scipe, qui conduit même ses propres conférences.
  • Les pandas et le matplotlib sont des composants scipes. Ils fournissent d'excellentes données sur les sujets les plus différents, par exemple, apprentissage automatique, analyse intellectuelle Analyse du texte et du réseau.

Hernan Sulage, programmeur pragmatique

Cette langue est assez populaire, sa signification augmente dans les milieux académiques. La vérité est également le fait que l'utilité du langage de programmation dépend de ce que vous voulez faire dessus.

Je n'aime absolument pas PHP, mais je ne suis pas si stupide de nier sa polyvalence et sa puissance, ainsi que le fait que cette langue suffit à maîtriser.
En ce qui concerne l'étude de l'assembleur, cette langue dépend directement de la manière dont vous travaillez avec quel processeur.

Si vous savez travailler avec un, vous allez certainement l'utiliser dans la famille du processeur pendant un certain temps. Mais au fil du temps et ils subissent des changements. En ce sens, il s'agit de la famille la moins durable de langues.

Magnus Skip, développeur de logiciels et consultant à Göteborg

Beaucoup d'utilisateurs aiment Python. Pour certaines applications, ce sera trop lent et, par exemple, avec la langue d'assembleur, ils travailleront plus rapidement, mais aussi rapidement, ces applications travailleront dans le C, malgré le fait que le code écrit dans le langage C sera travaillé. pour toutes les plateformes.

De nombreuses startups ont réussi avec la langue Python, après quoi elles devaient réécrire certains programmes en Java, C ++ ou C. et si ces startups ont commencé à travailler avec la langue des assembleurs, ils auraient probablement financé longtemps avant leur très rapide. , mais difficile de lire le code serait terminé.

Mais travailler avec la langue d'assembleur, vous devrez faire face non seulement à diverses architectures de processeur, mais également avec des détails techniques différents dans différents systèmes d'exploitation.

Dernière mise à jour: 21/01/2018

Python présente un langage de programmation de haut niveau populaire, conçu pour créer des applications de différents types. Ce sont des applications Web, des jeux et des programmes de bureau, et travaillent avec des bases de données. Pretika était assez vaste dans le domaine de l'apprentissage des machines et des études d'intelligence artificielle.

Pour la première fois, la langue Python a été annoncée en 1991 par le développeur néerlandais Guido Van Rossum. Depuis lors, cette langue a fait un grand moyen de développement. En 2000, la version 2.0 a été publiée et en 2008 - version 3.0. Malgré le tri de telles lacunes entre les versions sur les versions sans cesse. Donc, la version actuelle actuelle au moment de la rédaction de ce matériel est de 3,7. Suite des informations détaillées À propos de toutes les rejets, versions et changements de langue, ainsi que les interprètes réels et les services publics nécessaires au travail et autres informations utiles Peut être trouvé sur le site officiel https://www.python.org/.

Les principales caractéristiques du langage de programmation Python:

Python est un langage de programmation très simple, c'est laconique et en même temps une syntaxe assez simple et compréhensible. En conséquence, il est facile d'étudier et c'est une des raisons pour lesquelles il s'agit de l'une des langues de programmation les plus populaires pour l'apprentissage. En particulier, en 2014, il a été reconnu comme le langage de programmation le plus populaire pour la formation aux États-Unis.

Python est également populaire non seulement dans le domaine de l'apprentissage, mais dans la rédaction de programmes spécifiques, y compris une nature commerciale. Par conséquent, donc pour cette langue, de nombreuses bibliothèques que nous pouvons utiliser sont écrites.

De plus, ce langage de programmation a une très grande communauté, sur Internet, vous trouverez de nombreux matériaux utiles, des exemples, pour obtenir une aide qualifiée de spécialistes.

Pour créer des programmes sur Python, nous avons besoin d'un interprète. Pour l'installer, nous nous tournons vers le site https://www.python.org/ et sur le village principal de la section Téléchargements, nous trouverons un lien à télécharger dernière version Langue (actuellement il est 3.7.2):

Allumons le lien vers la page décrivant la dernière version de la langue. Plus près du bas, vous pouvez trouver une liste de distributions pour différents systèmes d'exploitation. Choisissez le paquet dont vous avez besoin et de le conduire. Par exemple, dans mon cas, c'est Windows 64 bits, donc je choisis un lien vers le paquet Windows X86-64 Installateur exécutable. Après avoir chargé la distribution, installez-le.

En conséquence, vous pouvez sélectionner MacOS 64 bits Installer pour MacOS.

Sous Windows, lorsque le programme d'installation démarre, la fenêtre d'assistant d'installation commence:

Ici, nous pouvons définir le chemin pour lequel l'interprète sera installé. Laissons-le par défaut, c'est-à-dire C: \\ utilisateurs \\ [Nom d'utilisateur] \\ AppData \\ Local \\ Programmes \\ Python \\ Python36 \\.

De plus, en bas, vous vérifierez la case "Ajouter Python 3.6 sur le chemin" "pour ajouter le chemin d'accès à l'interpréteur dans des variables d'environnement.

Après l'installation dans le menu Démarrer sous Windows, nous pourrons trouver des icônes pour accéder à des utilitaires différents:

Ici, l'utilitaire Python 3.7 (64 bits) représente un interprète dans lequel nous pouvons exécuter le script. Dans le système de fichiers lui-même, le fichier d'interpréteur peut être trouvé sur le chemin où l'installation a été faite. Sous Windows par défaut, c'est la voie C: \\ Utilisateurs \\ [Nom d'utilisateur] \\ AppData \\ Local \\ Programmes \\ Python \\ Python37Et l'interprète lui-même représente le fichier python.exe. ON OS. Installation de Linux Usiné le long du chemin /usr/local/bin/python3.7.

Être un langage de programmation Python bien conçu est parfait pour résoudre les tâches réelles de la catégorie de ceux que les développeurs doivent être résolus quotidiennement. Il est utilisé dans la gamme la plus large d'applications - et comme outil de gestion d'autres composants logiciels et à mettre en œuvre des programmes indépendants. En fait, la gamme de rôles que Python peut jouer en tant que langage de programmation polyvalente est pratiquement illimité: il peut être utilisé pour mettre en œuvre

tout, n'importe quoi, des sites Web et des programmes de jeu pour contrôler les robots et les vaisseaux spatiaux.

Cependant, la sphère d'utilisation de Python peut actuellement être divisée en plusieurs grandes catégories. Plusieurs sections suivantes décrivent les applications python les plus typiques de nos jours, ainsi que les outils utilisés dans chacune des régions. Nous n'aurons pas la possibilité d'étudier les outils mentionnés ici. Si l'un d'entre eux vous intéresse, contactez le site Web du projet Python pour plus de

Programmation du système

Inclimés dans les interfaces Python L'accès aux systèmes de systèmes d'exploitation en font un outil idéal pour créer des programmes et des utilitaires portables de l'administration système (parfois, ils sont appelés commandes outils Shell). Les programmes de Python peuvent trouver des fichiers et des répertoires, exécuter d'autres programmes, faire des calculs parallèles utilisant plusieurs processus et threads et faire

beaucoup.

La bibliothèque Python standard répond pleinement aux exigences. normes de POSIX et prend en charge tous les outils de système d'exploitation typiques: variables d'environnement, fichiers, sockets, canaux, processus, modèle d'exécution multithreadé, motif de recherche utilisant des expressions régulières, arguments ligne de commande, Interfaces standard Accédez aux flux de données, lancant les commandes Shell, l'alimentation des fichiers et beaucoup

De plus, les interfaces système dans Python sont créées par toléré, par exemple, le script de copie de l'arborescence de répertoires n'exige pas de modifications apportées à un système d'exploitation utilisé. Le système Python Stackless utilisé par Eve Online propose également des solutions améliorées utilisées pour le traitement parallèle des données.

Interface graphique

Le python facile et la vitesse de développement élevée en font un excellent développement d'interface graphique. Python comprend une interface standard orientée objet de TK GUI API, appelée TKINTER (B Python 2.6, appelée Tkinter) T, permettant aux programmes dans la langue Python de mettre en œuvre une interface graphique portable avec une apparence inhérente au système d'exploitation. Interfaces graphiques de Python /

tkinter inchangé peut être utilisé dans MS Windows, X Windows (in Unix et Linux) et Mac OS (à la fois dans la version classique et dans OS X). Un package d'extension GRATUIT PMW contient des composants visuels supplémentaires pour l'ensemble Tkinter. En outre, une interface d'application de l'API GUI WXPYTHON GUI basée sur la bibliothèque C ++ offre un ensemble alternatif d'outils pour créer des interfaces graphiques portables dans Python.

Des outils de haut niveau, tels que PythonCard et Dabot sont construits à base de l'API telle que WXPython et Tkinter. Si vous sélectionnez la bibliothèque appropriée, vous pouvez également utiliser d'autres outils d'interface graphique, tels que QT (à l'aide de PYQT), GTK (à l'aide de PYGTK), MFC (à l'aide de PYWIN32) ,.NET (à l'aide d'IronPython), Swing (à l'aide de Jython - Mise en œuvre du Langue Python sur Java, décrite au chapitre 2, ou JPPE). Pour développer des applications avec une interface Web ou aucune interface à haute demande, vous pouvez utiliser Jython, des frameworks Web dans les scripts Python et CGI, décrites dans la section suivante et fournissent des options supplémentaires pour créer une interface utilisateur.

Scénarios Web

L'interprète Python est livré avec des modules Internet standard permettant aux programmes d'exécuter une variété d'opérations de réseau à la fois en mode client et en mode serveur. Les scénarios peuvent interagir à travers les sockets, extraire des informations de formulaires envoyés par Server CGI scénarios; envoyer des fichiers à l'aide du protocole FTP; processus XML fichiers; transmettre, accepter, créer et analyser

des lettres e-mail; Téléchargez des pages Web à partir d'adresses URL spécifiées; faire un report de marquage HTML et XML des pages Web reçues; Faites des interactions sur les protocoles XML-RPC, SOAP et TELNET et bien plus encore.

Les bibliothèques incluses dans Python rendent la réalisation de telles tâches incroyablement faciles.

En outre, il existe une énorme collection d'outils tiers pour créer logiciel de réseau Dans la langue de Python, qui peut être trouvé sur Internet. Par exemple, le système HTMLGEN vous permet de créer des pages HTML en fonction des descriptions des classes Python. Le package MOD_PYTHON est conçu pour démarrer les scripts Python exécutant Apache Web Server et prend en charge les modèles de mécanisme Python Server Pages. Jython fournit

intégration sans soudure Python / Java et supporte des applets de serveur qui fonctionnent sur le côté du client.

De plus, Python dispose de forfaits de développement Web complètes, tels que Django, Turbogears, Web2py, Pylons, Zope et WebWare, en soutenant la possibilité de créer rapidement des sites Web de haute qualité complétés à Python. Beaucoup d'entre eux incluent des fonctionnalités telles que l'affichage associé à l'objet, le modèle d'architecture / la vue / contrôleur / contrôleur (modèle / affichage / contrôleur), créant des scripts en cours d'exécution sur le côté serveur, des modèles de support et de la technologie Ajax, fournissant

solutions complétées et fiables pour développer des applications Web.

Intégration des composants

La possibilité d'intégrer les composants logiciels dans une seule application avec Python a déjà été discutée ci-dessus lorsque nous avons parlé de Python en tant que langue de gestion. Position Python Développer et s'intégrer dans

les systèmes dans la langue C et C ++ le rend pratique pratique et flexible pour décrire le comportement d'autres systèmes et composants. Par exemple, l'intégration avec la bibliothèque de la langue avec Permet à Python de vérifier la disponibilité et exécuter des composants de la bibliothèque et l'intégration de Python aux produits logiciels vous permet de configurer produits logiciels Sans la nécessité de reconstruire ces produits ou de les fournir aux textes source.

Des outils tels que Swing and SIP, générant automatiquement le code de programme, peuvent automatiser les actions de liaison pour lier les composants compilés en Python pour une utilisation ultérieure dans les scripts et le système Cyron permet aux programmeurs de mélanger le code de programme sur Python et S. Ces grandes plateformes sur Python. , comme support som.

dans MS Windows, Jython - Mise en œuvre sur langue java, IronPython - Mise en œuvre sur la base de .NET et une variété d'implémentations de Corba, fournissent des moyens alternatifs d'organiser des interactions avec des composants logiciels. Par exemple, dans le système d'exploitation Windows, le scénario Python peut utiliser de telles plateformes de gestion d'applications telles que MS Word et Excel.

Applications de base de données

En python, il y a des interfaces d'accès pour tous les principaux bases relationnelles Données - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite et beaucoup d'autres. Dans le monde de Python, il existe également une interface de programme d'application de base de données portable conçue pour accéder aux bases. données SQL Des scripts de Python, qui unifie l'accès à diverses bases de données. Par exemple, lors de l'utilisation d'un script d'API portable conçu pour fonctionner avec une base gratuite données MySQLPresque aucun changement ne sera capable de travailler avec d'autres systèmes de base de données (tels que Oracle). Tout ce qui doit être fait est de remplacer l'interface de bas niveau utilisé.

Le module standard de cornichon implémente un système de stockage d'objets simple, qui permet aux programmes d'enregistrer et de restaurer des objets Python dans des fichiers ou dans des installations spécialisées. Vous pouvez également trouver un système créé par des développeurs tiers appelés ZODB.

C'est une base de données entièrement orientée objet

pour une utilisation dans les scripts Python. Il y a aussi

des outils tels que SQLOBJECT et SQLALCHÉMY, qui affichent

tables relationnelles dans les classes de langue Python Modèle. Commençant par Python 2.5,

la partie standard de Python est devenue une base de données SQLite.

Création rapide de prototypes

Dans les programmes de la langue de Python, les composants écrits en Python et sur C, ont l'air de même. Grâce à cela, vous pouvez d'abord créer des prototypes de systèmes en python, puis transférer les composants sélectionnés pour compiler des langues, telles que C et C ++. Contrairement à un certain nombre d'autres outils de développement de prototypes, Python n'exige pas que le système soit complètement réécrit dès que le prototype est débogué. Parties du système qui ne nécessitent pas une telle efficacité d'exécution, qui fournit c ++, vous pouvez

laissez en langage Python, qui simplifiera considérablement le support et l'utilisation d'un tel système.

Programmation mathématique

et calculs scientifiques

L'extension numpue des calculs mathématiques mentionnés ci-dessus comprend de tels éléments puissants tels que des objets de réseau, des interfaces vers des bibliothèques mathématiques standard et bien plus encore. L'extension numpy est due à l'intégration avec des bibliothèques mathématiques écrites dans la compilation de langages de programmation - Tourne Python à un outil complexe, mais un outil pratique pour la programmation de calcul mathématique, qui peut souvent remplacer le code de logiciel existant écrit dans les langages de compilation traditionnels, tels que Fortran et c ++.

Des outils supplémentaires pour l'informatique mathématique pour le support Python La possibilité de créer des effets d'animation et des objets tridimensionnels vous permettent d'organiser des calculs parallèles, etc. Par exemple, les extensions populaires sciped et scientificython fournissent des bibliothèques supplémentaires pour l'informatique scientifique et utilisent les capacités d'expansion numpues.

Jeux, images, intelligence artificielle,

XML robots et beaucoup plus

Le langage de programmation Python peut être utilisé pour résoudre une gamme de tâches plus large que ce qui peut être mentionné ici. Par example:

Créez des programmes de jeu et des rouleaux d'animation en utilisant

systèmes pygame

Échanger des données avec d'autres ordinateurs via cohérents

port utilisant l'expansion pystérielle

Traitement des images à l'aide de PIL, des extensions PYOPENGL,

Blender, Maya et autres

Conduire un robot à l'aide de l'outil pyro

Pour analyser les documents XML à l'aide du package XML, le XMLRP

extensions de clib et de tiers

Programme intelligence artificielle Utilisation du neuro-émulateur

réseaux et obus de systèmes d'experts

Analysez des phrases dans une langue naturelle à l'aide du package NLTK.

Vous pouvez même décomposer solitaire à l'aide du programme PYSOL. La prise en charge de nombreux autres domaines appliqués peut être trouvée sur le site Web PYPI ou en utilisant moteurs de recherche (Recherchez des liens en utilisant Google ou sur le site http://www.python.org).

De manière générale, beaucoup de ces applications de Python ne sont qu'une variété de même rôle appelé "Intégration des composants". En utilisant Python comme une interface avec les bibliothèques des composants écrits en C, permet de créer des scripts en python pour résoudre des problèmes dans une variété de zones appliquées. En tant que langage de programmation universel et polyvalent soutenant la possibilité d'intégration, Python Il peut être utilisé très large.

Au fait, avez-vous des problèmes avec une alimentation pour ordinateur portable? Nous vous conseillons d'acheter des alimentations pour un ordinateur portable à des prix très abordables. Sur le site Web de Darrom.com.ua, vous trouverez des alimentations pour tout ordinateur portable.

Python - Puissant et facile à explorer le langage de programmation. Il fournit des structures de données de haut niveau pratiques et une approche simple mais efficace de la programmation orientée objet. Python Langage interprétable. Pour démarrer les programmes écrits, l'interprète CPPHON est requis. L'interpréteur de Python et une grande bibliothèque standard sont disponibles librement sous la forme de fichiers source et binaire pour toutes les principales plates-formes sur le site officiel. Python http://www.python.org et peut se propager sans restrictions. De plus, le site contient des distributions et des liens vers de nombreux modules de tiers et documentation détaillée.
La langue a une syntaxe claire et cohérente, une modularité réfléchie et une évolutivité, due à la source écrit sur Python Les programmes sont facilement lus. Développeurs de langue Python Adhérer à une certaine philosophie de programmation appelée "le zen de Python". Son texte est émis par l'Import Cet interprète de commandement:

\u003e\u003e\u003e Importez ce zen de Python, de Tim Peters Beau, c'est mieux que laid. Explicite vaut mieux que implicite. Simple est meilleur que complexe. Isométer complexe que compliqué. Plat est meilleur que jeté. Sparse est meilleur que dense. Compte de lisibilité. Les cas spéciaux ne sont pas suffisamment spéciaux pour casser les règles. Bien que la praticité bat la pureté. Les erreurs shold ne se passent jamais silencieusement. Sauf sifficitement réduisent de silence. Face à l'ambiguïté, refuser la tentation de deviner. Il devrait y avoir un-- et de préférence un seul - -Lavantage-quelconque doit le faire. Bien que cette façon ne soit peut-être pas évidente au début, sauf si vous "êtes néerlandais. Maintenant, c'est mieux que jamais. Bien que jamais ne soit souvent meilleur que * juste * maintenant. Si la mise en œuvre est difficile à expliquer, c'est une mauvaise idée. Si la mise en œuvre est facile à expliquer, c'est peut-être une bonne idée. Les espaces de noms sont une bonne idée de klaxon - laissez-vous plus de ceux-ci!

Traduit ça sonne comme ceci:

  • Belle meilleure que laide.
  • Explicite mieux que implicite.
  • Simple mieux que compliqué.
  • Compliqué mieux que déroutant.
  • Plat vaut mieux que d'investir.
  • Réinsrégée mieux que le dense.
  • Lisibilité compte.
  • Les cas particuliers ne sont pas si spéciaux pour violer les règles.
  • Dans le même temps, la praticité est plus importante que la défaillance.
  • Les erreurs ne doivent jamais être silencieuses.
  • Si vous n'êtes pas silencieux, évidemment.
  • Après avoir rencontré l'ambiguïté, lancez la tentation de deviner.
  • Il doit exister un - et, de préférence, un seul est le moyen évident de le faire.
  • Bien qu'il puisse ne pas être évident si vous n'êtes pas néerlandais.
  • Maintenant mieux que jamais.
  • Bien que jamais souvent meilleur que maintenant maintenant.
  • Si la mise en œuvre est difficile à expliquer - l'idée de mauvais.
  • Si la mise en œuvre est facile à expliquer - l'idée peut être bonne.
  • Noms d'espace - bonne chose! Nous les ferons plus!

Python - Développer activement le langage de programmation, de nouvelles versions vont environ deux ans et demi. En conséquence, d'autres raisons de Python Il n'y a pas de normes standard ANSI, ISO ou d'autres normes officielles, leur rôle est effectué par CPPHON.

Histoire de la création de la langue

Le développement de la langue Python a été lancé à la fin des années 1980 par un employé de l'Institut néerlandais CWI. AMOEBA Distributed OS était requis une langue de script extensible pour laquelle Guido Van Rossum a créé Python. Nouveau langage Il y avait quelques développements pour la langue ABC, axé sur l'apprentissage de la programmation. En février 1991, Guido a publié le texte source dans le groupe de discussion Alt.Sources. Le nom de la langue s'est produit non du type de reptiles. L'auteur a appelé la langue en l'honneur de la populaire émission télévisée britannique de la comédie des années 1970 "Flying Circus Monti Paiton". Néanmoins, l'emblème de la langue décrit les têtes de serpent. Après de longs tests, la première version de Python 3.0 est sortie. Aujourd'hui, les deux branches de développement sont prises en charge (Python 3.x et 2.x).

Python a été créé sous l'influence de nombreuses langues de programmation: Modula-3, C, C ++, SmallTalk, Lisp, Fortran, Java, Miranda, Icône. Malgré le fait que Python ait une syntaxe assez originale, l'un des principes de la conception de cette langue est le principe de la plus petite surprise.

Bibliothèque standard

La bibliothèque standard riche est l'un des beaux côtés de Python. Il existe des moyens de travailler avec de nombreux protocoles de réseau et formats Internet. Il existe des modules pour travailler avec des expressions régulières, des codages de texte, des formats multimédia, des protocoles cryptographiques, des archives. En plus de bibliothèque standard De nombreuses bibliothèques fournissent l'interface à tous les défis du système sur différentes plates-formes.
Pour Python a adopté la spécification d'interface logicielle aux bases de données DB-API 2 et les spécifications de packages correspondantes sont développées pour accéder à divers SGBD: Oracle, MySQL, PostgreSQL, Sybase, Firebird (Interbase), Informix, Microsoft SQL. Serveur et sqlite.
La bibliothèque numpy pour travailler avec des tableaux multidimensionnelles vous permet d'obtenir la productivité des calculs scientifiques comparables aux packages spécialisés. Scipey utilise des numéros et donne accès à un vaste spectre d'algorithmes mathématiques. NANARRAY est spécialement conçu pour les opérations avec de grands volumes de données scientifiques.
Python fournit une interface de programme SI API simple et commode pour écrire ses propres modules dans Si et C ++. Un tel outil que Swig vous permet de recevoir presque automatiquement les liaisons pour utiliser des bibliothèques C / C ++ dans le code Python. L'outil de bibliothèque standard CTYPES permet aux programmes Python accéder directement à des bibliothèques dynamiques écrites dans SI. Il existe des modules qui vous permettent d'intégrer le code sur C / C ++ directement sur les fichiers source Python, créant des extensions "à la volée".
Python et la majorité accablante des bibliothèques sont gratuites et fournies dans des codes source. De plus, contrairement à beaucoup de systèmes ouvertsLa licence ne limite pas l'utilisation de Python dans le développement commercial et n'impose aucune obligation autre que l'indication du droit d'auteur.

Champ d'application

Python est une langue stable et distribuée. Il est utilisé dans de nombreux projets et de différentes qualités: en tant que langage de programmation de base ou pour créer des extensions et intégrer des applications. Un grand nombre de projets ont été mis en œuvre sur Python, il est également activement utilisé pour créer des prototypes de programmes futurs. Python est utilisé dans de nombreuses grandes entreprises.
Python avec des packages numpés, scipes et matplotlib sont utilisés activement comme un environnement universel pour des calculs scientifiques comme remplacement des forfaits commerciaux spécialisés communs Matlab, IDL, etc.
DANS programmes professionnels Des graphiques tridimensionnels tels que Houdini et Nuke, Python sert à élargir caractéristiques standards programmes.

Sources

Présentations

Devoirs

Préparer des messages:

  • Python comme un outil de scientifiques
  • Python et rubis (comparaison)
  • Python et web.
  • Création d'applications de fenêtre à l'aide de python et de bibliothèques graphiques (WXPYTHON, PYQT, PYGTK, etc.)

Se tournons vers une partie théoriquement pratique et commencez par le fait que l'interprète représente.

Interprète

Interprète - Ceci est un programme qui effectue d'autres programmes. Lorsque vous écrivez un programme à Python, l'interprète lit votre programme et exécute les instructions contenues. En fait, l'interprète est une couche de logique logicielle entre votre code de programme et votre équipement informatique.

Selon la version du python utilisé, l'interprète lui-même peut être mis en œuvre en tant que programme en C, en tant que jeu de classes Java et de toute autre forme, mais cela plus tard.

Exécuter le script dans la console

Exécutons l'interprète dans la console:

Maintenant, il attend que la commande entre dans les instructions suivantes:

Imprimer "Hello World!"

hourra, notre premier programme! : RÉ.

Exécuter le script de fichier

Créer un fichier "test.py", avec contenu:

# Wire "Hello World" Print "Hello World" # Retirer 2 à 10 degrés Imprimer 2 ** 10

et exécuter ce fichier:

# Python /path/to/test.py.

Compilation dynamique et code octet

Après avoir exécuté le script, cela compilait d'abord le code source du script au code octet de la machine virtuelle. Compilation - Il s'agit juste d'une étape de transfert et d'octet-code est une présentation à la plate-forme de basse plate-forme du texte source du programme. Python diffuse chaque instruction dans le code de script source dans le groupe d'instructions de code d'octet afin d'augmenter la vitesse du programme, car le code d'octet est effectué beaucoup plus rapidement. Après compilation en code d'octet, un fichier avec expansion est créé. ".pyc" À côté du texte source du script.

La prochaine fois que vous démarrez votre programme, l'interprète passe de l'étape de compilation et donnera un fichier compilé avec la "extension .pyc" à exécuter. Toutefois, si vous modifiez les textes source de votre programme, l'étape de compilation se produira à nouveau sur le code octet, car Python surveille automatiquement la date de changement de fichier avec le code source.

Si Python ne sera pas en mesure d'enregistrer un fichier avec le code octet, par exemple, en raison du manque de droits d'écrire sur le disque, le programme ne souffrira pas, juste le code d'octet sera collecté en mémoire et lorsque le programme est terminé. De là.

Machine virtuelle Python (PVM)

Une fois que le processus de compilation passe, le code d'octet est transmis au mécanisme appelé machine virtuellequi exécuteront des instructions du code octet. Machine virtuelle - Il s'agit du mécanisme de l'heure d'exécution, il est toujours présent dans le système Python et c'est le composant extrême du système appelé "INTERPRÈTE PYTHON".

Pour consolider la situation passée à nouveau, la compilation du code d'octet est automatiquement produite et PVM ne fait que partie du système Python que vous avez installé avec l'interprète et le compilateur. Tout est transparent pour un programmeur et vous n'avez pas besoin d'effectuer ces opérations manuellement.

Performance

Les programmeurs qui possèdent de l'expérience avec des langues telles que C et C ++ peuvent remarquer certaines différences dans le modèle d'exécution Python. Le premier est l'absence d'un étage de montage ou appelez l'utilitaire "FAIT", les programmes sur Python peuvent être immédiatement exécutés après avoir écrit le code source. La deuxième différence - code d'octet n'est pas un code de machine binaire (par exemple, des instructions pour le microprocesseur Intel), il s'agit d'une représentation interne du programme Python.

Pour ces raisons, les programmes Python ne peuvent pas être effectués aussi rapidement que sur C / C ++. Instructions de contournement effectue système virtuelPas un microprocesseur et pour effectuer le code octet, une interprétation supplémentaire est nécessaire, dont les instructions nécessitent plus de temps que les instructions de la machine du microprocesseur.

Cependant, d'autre part, contrairement aux interprètes traditionnels, par exemple, comme dans PHP, il y a une étape de compilation supplémentaire ici - un interprète n'a pas besoin d'analyser le texte source du programme à chaque fois.

En conséquence, Python en termes de performance se situe entre la compilation traditionnelle et les langages de programmation d'interprétation traditionnels.

Actualités alternatives Python

Ce qui a été dit ci-dessus sur le compilateur et la machine virtuelle caractéristique de la mise en œuvre standard Python, le soi-disant CPPHON (mise en œuvre sur l'ANSI C). Cependant, il existe également des implémentations alternatives, telles que Jython et IronPython, qui seront dépensées maintenant.

C'est la mise en œuvre standard et originale de Python, nommée, car elle est écrite sur ANSI C. C'est elle que nous avons installée lorsque nous avons choisi un paquet Activepython ou installé FreeBSD. ports. Comme il s'agit d'une mise en œuvre de référence, il est généralement fonctionne plus vite, stable et meilleurque des implémentations alternatives.

Jython.

Le nom initial JPYTHON, l'objectif principal - fermer l'intégration avec la langue de programmation Java. Jython consiste en des classes Java qui effectuent une compilation du code de programme dans la langue Python au code d'octet Java, puis transmettent le code d'octet résultant. machine virtuelle Java (JVM).

L'objectif de Jython est d'autoriser les programmes Python à gérer les applications Java, tout comme CPPHon peut contrôler les composants en langues C / C ++. Cette mise en œuvre a une intégration de marguerite avec Java. Étant donné que le code du logiciel Python est diffusé au code d'octet Java, lors de l'exécution, il se comporte exactement comme un véritable programme dans la langue Java. Les programmes Jython peuvent servir d'applet et de servlets, créer une interface graphique à l'aide de mécanismes Java, etc. De plus, Jython fournit un soutien à la possibilité d'importer et d'utiliser des classes Java dans le code du programme Python.

Cependant, étant donné que la mise en œuvre de Jython fournit plus faible vitesse Performance et moins stables par rapport à CPPHON, il est d'intérêt pour les développeurs de programmes Java, qui nécessite une langue de scénarios comme une interface avec un code Java.

La mise en œuvre est destinée à assurer l'intégration des programmes Python avec des applications créées pour travailler dans l'environnement Microsoft .NET Framework système opérateur Windows, ainsi que dans l'équivalent mono-ouvert pour Linux. Platform.net et l'environnement d'exécution C # sont conçus pour assurer l'interaction entre les objets logiciels, quel que soit le langage de programmation utilisé, dans l'esprit du modèle antérieur du modèle Microsoft COM.

IronPython permet aux programmes de Python de jouer le rôle des composants du client et du serveur disponibles à partir d'autres langages de programmation .NET. Dans la mesure où le développement est effectué par MicrosoftDe IronPython, entre autres choses, il serait possible de s'attendre à une optimisation substantielle des performances.

Taux d'optimisation des outils

Il existe d'autres implémentations, y compris un compilateur dynamique PSYCO. et un traducteur de Shedskin C ++ tente d'optimiser le modèle principal d'exécution.

Compilateur dynamique PSYCO

Système PSYCO - Ceci est un composant qui étend le modèle d'exécution du code octet, qui permet d'effectuer des programmes plus rapidement. PSYCO. est une extension Pvm.Cela collecte et utilise des informations de type pour diffuser le code d'octet du programme du programme à un vrai code de machine binaire qui est fait beaucoup plus rapidement. Pour une telle émission, vous n'avez pas besoin de modifier le code source ou de faire une compilation supplémentaire au cours du développement.

Au cours du programme, PSYCO collecte des informations sur les types d'objets, puis ces informations sont utilisées pour générer un code de machine hautement efficace optimisé pour des objets de ce type. Après cela, le code de la machine produite remplace les taches correspondantes du code octet, augmentant ainsi la vitesse de l'exécution.

Idéalement, certaines sections du code du programme sous contrôle PSYCO peut également être exécuté rapidement comme code compilé dans la langue C.

PSYCO fournit une augmentation de la vitesse de 2 à 100 fois, mais généralement 4 fois, lors de l'utilisation d'un interprète python non modifié. Le seul moins dans PSYCO est le fait qu'il est actuellement capable de générer un code de machine pour l'architecture uniquement Intel X86..

PSYCO ne va pas dans la livraison standard, il doit être téléchargé et installer séparément. Il y a encore un projet Pyy.qui est une tentative de réécrire Pvm. Afin d'optimiser le code comme dans PSYCO., Projet Pyy. va absorber au plus grand projet PSYCO..

Traducteur Shedskin C ++

Shedskin. - Il s'agit d'un système convertit le code source dans la langue Python vers le code source en C ++, qui peut ensuite être compilé dans le code de la machine. De plus, le système implémente une approche sans plate-forme de l'exécution du code du logiciel Python.

Fichiers binaires fixes (binaires congelés)

Il est parfois nécessaire de créer des fichiers exécutables indépendants de ses programmes sur Python. Il est nécessaire d'emballer et de distribuer des programmes bientôt.

Les fichiers binaires fixes sont combinés dans un seul logiciel d'octet de fichier de fichiers de paquets, des fichiers PVM et d'assistance, programmes nécessaires. Le résultat est un fichier exécutable unique, tel qu'un fichier avec l'extension ".exe" pour Windows.

À ce jour, trois outils principaux pour la création de «binaires surgelés»:

  • py2exe - Il peut créer des programmes Windows hors ligne utilisant des bibliothèques Tkinter, PMW, WXPYTHON et PYGTK pour créer une interface graphique utilisant des programmes. logiciel créer des jeux de pygame, des programmes clients Win32Com et de nombreux autres;
  • Pyinstaller - rappelle PY2EXE, mais fonctionne également sous Linux et Unix et est capable de produire des fichiers exécutables auto-alignant;
  • gELER. - version originale.

Vous devez télécharger ces outils séparément de Python, ils sont distribués gratuitement.

Les fichiers binaires fixes ont une taille considérable, car ils contiennent de la PVM, mais selon les normes modernes, il est toujours impossible d'être qualifié d'inhabituellement grande. Étant donné que l'interprète Python est intégré directement dans des fichiers binaires fixes, son installation n'est pas obligatoire d'exécuter des programmes sur le côté de la réception.

Résumé

Aujourd'hui, tout, dans le prochain article, je parlerai de types standard Les données de Python, eh bien, dans des articles suivants, considèrent chaque type séparément, ainsi que des fonctions et des opérateurs pour travailler avec ces types.

Avez-vous aimé l'article? Partager avec des amis: