Maison >développement back-end >Tutoriel Python >Apprentissage Python [Partie 1] Introduction à Python

Apprentissage Python [Partie 1] Introduction à Python

高洛峰
高洛峰original
2017-02-13 17:18:301396parcourir
  1. Introduction à Python

  2. Historique du développement

  3. Python 2 ou 3 ?

1. Introduction à Python

Le fondateur de python est Guido van Rossum. Pendant la période de Noël 1989, afin de gagner du temps à Amsterdam, Guido van Rossum décide de développer un nouvel interprète de scénario pour succéder au langage ABC.


Dans le dernier classement TIOBE, Python a dépassé PHP pour occuper la cinquième place. Python prône l'élégance, la clarté et la simplicité, et est un langage excellent et largement utilisé.

Python peut être utilisé dans de nombreux domaines, tels que : l'analyse de données, l'intégration de composants, les services réseaux, le traitement d'images, le calcul numérique, le calcul scientifique et bien d'autres domaines. À l'heure actuelle, presque toutes les grandes et moyennes entreprises Internet du secteur utilisent Python, telles que : Youtube, Dropbox, BT, Quora (China Zhihu), Douban, Zhihu, Google, Yahoo!, Facebook, NASA, Baidu, Tencent. , Autohome, Meituan, etc. Les activités pour lesquelles les sociétés Internet utilisent largement Python incluent généralement : l'exploitation et la maintenance automatisées, les tests automatisés, l'analyse du Big Data, les robots d'exploration, le Web, etc.

Actuellement les principaux domaines d'application de Python :

  • Cloud computing : le langage le plus populaire pour le cloud computing, application typique OpenStack

  • Développement WEB : De nombreux excellents frameworks WEB, de nombreux grands sites Web sont développés en Python, notamment Youtube, Dropbox et Douban. . . , Les frameworks WEB typiques incluent Django

  • Opérations scientifiques, intelligence artificielle : bibliothèques typiques NumPy, SciPy, Matplotlib, bibliothèques Enthought, pandas

  • Fonctionnement du système Wei : Un des langages incontournables pour le personnel d'exploitation et de maintenance

  • Finance : trading quantitatif, analyse financière Dans le domaine de l'ingénierie financière, Python n'est pas seulement utilisé, mais aussi le. le plus utilisé, et son importance augmente d’année en année. Raison : En tant que langage dynamique, Python a une structure de langage claire et simple, des bibliothèques riches, des calculs scientifiques et statistiques matures et stables, et son efficacité de production est bien supérieure à celle de c, c, java. Il est particulièrement bon en stratégie. backtesting

  • Interface graphique graphique : PyQT, WxPython, TkInter

Comparaison de Python et d'autres langages courants

C et Python, Java , C#, etc.

Langage C : Le code est compilé pour obtenir du code machine, qui est directement exécuté sur le processeur

. Autres langages : Le code est compilé pour obtenir du bytecode, virtuel La machine exécute le bytecode et le convertit en code machine puis l'exécute sur le processeur

Python et C Python est un langage développé à partir de C

Pour l'utilisation : Python a une bibliothèque de classes complète Et c'est simple à utiliser Si vous souhaitez réaliser la même fonction, Python peut la résoudre avec 10 lignes de code, alors que C peut nécessiter 100 lignes ou plus
Concernant. vitesse : les langages de haut niveau ne peuvent pas se comparer au C en termes de vitesse d'exécution

Python et Java, C#, etc.

Pour utilisation : Python original Linux, les autres langages ne le font pas je l'ai ; les langages ci-dessus ont un support de bibliothèque de classes très riche
Pour la vitesse : Python peut être légèrement inférieur en vitesse

Il n'y a donc pas de différence essentielle entre Python et les autres langages. : être bon dans un certain domaine, avoir de riches talents et être préconçu.

Python est un langage de définition fortement typé et interprété dynamiquement

Avantages :

  1. Positionnement de Python est "élégant", "clair" et "simple", de sorte que les programmes Python semblent toujours simples et faciles à comprendre. Les débutants qui apprennent Python sont non seulement faciles à démarrer, mais peuvent également écrire des programmes très, très complexes s'ils approfondissent. l'avenir.

  2. L'efficacité du développement est très élevée. Python dispose d'une bibliothèque tierce très puissante. Fondamentalement, si vous souhaitez réaliser une fonction via l'ordinateur, la bibliothèque officielle Python dispose des modules correspondants. supportez-le. Téléchargez-le directement. Après l'appel, le développement s'effectue sur la base de la bibliothèque de base, ce qui réduit considérablement le cycle de développement et évite de réinventer la roue.

  3. Langage de haut niveau - Lorsque vous écrivez un programme en Python, vous n'avez pas besoin de penser aux détails de bas niveau tels que la façon de gérer la mémoire utilisée par votre programme

  4. Portabilité - En raison de sa nature open source, Python a été porté sur de nombreuses plateformes (avec des modifications pour lui permettre de fonctionner sur différentes plateformes). Si vous évitez soigneusement d'utiliser des fonctionnalités dépendantes du système, tous vos programmes Python peuvent fonctionner sur presque toutes les plates-formes système du marché sans modification

  5. Évolutivité———— —Si vous avez besoin d'une fonctionnalité critique Pour qu'un morceau de votre code s'exécute plus rapidement ou que vous souhaitiez que certains algorithmes restent privés, vous pouvez écrire des parties de votre programme en C ou C++ et les utiliser dans votre programme Python.

  6. Intégration - Vous pouvez intégrer Python dans votre programme C/C pour fournir des fonctionnalités de script aux utilisateurs de votre programme.

Inconvénients :

  1. Vitesse lente. Python s'exécute beaucoup plus lentement que le langage C et plus lentement que JAVA. Parce que Python est un langage interprété, votre code sera traduit ligne par ligne lors de l'exécution en code machine que le processeur peut comprendre. . Ce processus de traduction prend beaucoup de temps, il est donc très lent. Le programme C est directement compilé en code machine que le CPU peut exécuter avant de s'exécuter, il est donc très rapide. Mais en réalité, la lenteur de fonctionnement évoquée ici ne peut pas être directement perçue par les utilisateurs dans la plupart des cas et doit être reflétée à l'aide d'outils de test.

  2. Le code ne peut pas être chiffré car PYTHON est un langage interprété et son code source est stocké sous forme de texte. Cependant, je ne pense pas que ce soit un inconvénient si votre projet nécessite du code source. code Le code doit être chiffré, vous ne devez donc pas utiliser Python pour l'implémenter en premier lieu.

  3. Les threads ne peuvent pas profiter du problème des processeurs multiples. L'une des lacunes les plus critiquées de Python est le Global Interpreter Lock (Global Interpreter Lock), qui est utilisé par. Interpréteurs de langage de programmation informatique. Un outil permettant de synchroniser les threads afin qu'un seul thread s'exécute à tout moment. Les threads Python sont des threads natifs du système d'exploitation. Il s'agit de pthread sous Linux et Win thread sous Windows. L'exécution du thread est entièrement planifiée par le système d'exploitation. Un processus interpréteur Python possède un thread principal et plusieurs threads d'exécution de programme utilisateur. Même sur les plates-formes CPU multicœurs, l'exécution parallèle de multi-threads est interdite en raison de l'existence de GIL. Concernant la solution de compromis à ce problème, nous en discuterons en détail plus tard dans les chapitres sur le fil de discussion et le processus.

Types de Python

Lorsque nous écrivons du code Python, nous obtenons un code Python contenant un fichier texte avec une extension .py. Pour exécuter le code, vous avez besoin de l'interpréteur Python pour exécuter le fichier .py.

Étant donné que tout le langage Python, de la spécification à l'interpréteur, est open source, en théorie, tant que le niveau est suffisamment élevé, n'importe qui peut écrire un interpréteur Python pour exécuter du code Python (bien sûr, c'est très difficile). En fait, plusieurs interpréteurs Python existent.

CPython

Lorsque nous téléchargeons et installons Python 2.7 depuis le site officiel de Python, nous obtenons directement une version officielle de l'interpréteur : CPython. Cet interpréteur est développé en langage C, il s'appelle donc CPython. L'exécution de Python à partir de la ligne de commande démarre l'interpréteur CPython.

CPython est l'interpréteur Python le plus utilisé. Tout le code du didacticiel est également exécuté sous CPython.

IPython

IPython est un interpréteur interactif basé sur CPython, c'est-à-dire qu'IPython n'est amélioré qu'en mode interactif, mais la fonction d'exécution du code Python est complètement la même que celle de. CPython. Par exemple, bien que de nombreux navigateurs nationaux aient des apparences différentes, leurs cœurs appellent en réalité IE.

CPython utilise >>> comme invite, tandis qu'IPython utilise In [numéro de série] : comme invite.

PyPy

PyPy est un autre interpréteur Python qui cible la vitesse d'exécution. PyPy utilise la technologie JIT pour compiler dynamiquement le code Python, ce qui permet d'améliorer considérablement la vitesse d'exécution du code Python.

La plupart des codes Python peuvent être exécutés sous PyPy, mais il existe quelques différences entre PyPy et CPython, ce qui entraîne des résultats différents lorsque le même code Python est exécuté sous les deux interpréteurs. Si votre code doit être exécuté sous PyPy, vous devez comprendre les différences entre PyPy et CPython.

Jython

Jython est un interpréteur Python fonctionnant sur la plate-forme Java. Il peut directement compiler du code Python en bytecode Java pour l'exécution.

IronPython

IronPython est similaire à Jython, sauf qu'IronPython est un interpréteur Python fonctionnant sur la plate-forme Microsoft .Net et peut directement compiler du code Python en bytecode .Net.

Résumé

Il existe de nombreux interpréteurs pour Python, mais le plus largement utilisé est CPython. Si vous souhaitez interagir avec la plateforme Java ou .Net, le meilleur moyen n'est pas d'utiliser Jython ou IronPython, mais d'interagir via des appels réseau pour garantir l'indépendance entre les programmes.

2. Histoire du développement de Python

  • En 1989, afin de passer les vacances de Noël, Guido a commencé à écrire Compilateur de langage Python. Le nom Python vient de la série télévisée bien-aimée de Guido, Monty Python's Flying Circus. Il espère que ce nouveau langage appelé Python pourra répondre à son idéal : créer un langage entre C et Shell qui soit complet, facile à apprendre, facile à utiliser et évolutif.

  • En 1991, le premier compilateur Python était né. Il est implémenté en langage C et peut appeler des fichiers de bibliothèque en langage C. Depuis sa naissance, Python a eu : des classes, des fonctions, une gestion des exceptions, des types de données de base comprenant des tables et des dictionnaires, et un système d'expansion basé sur des modules.

  • Grand-père des frameworks Web Python, Zope 1 est sorti en 1999

  • Python 1.0 - janvier 1994 a ajouté lambda, mapper, filtrer et réduire .

  • Python 2.0 - 16 octobre 2000, a ajouté un mécanisme de recyclage de mémoire, formant la base du framework de langage Python actuel

  • Python 2.4 - 30 novembre 2004, la même année est né le framework WEB le plus populaire Django

  • Python 2.5 - 19 septembre 2006

  • Python 2.6 - 1er octobre 2008

  • Python 2.7 - 3 juillet 2010

  • En novembre 2014, il a été annoncé que Python 2.7 serait pris en charge jusqu'en 2020 et a réaffirmé qu'il y aurait pas de version 2.8 car les utilisateurs devaient passer à Python 3.4 dès que possible

  • Python 3.0 - 3 décembre 2008

  • Python 3.1 - 27 juin 2009

  • Python 3.2 - 20 février 2011

  • Python 3.3 - 29 septembre 2012

  • Python 3.4 - 16 mars 2014

  • Python 3.5 - 13 septembre 2015

 

三、 Python 2 ou 3 ?

En résumé : Python 2.x est un héritage, Python 3.x est le présent et le futur du langage

Python 3.0 est sorti en 2008. Le 2 final. x version 2.7 est sortie mi-2010, avec une déclaration de

support étendu pour cette version en fin de vie. La branche 2.x ne verra plus aucune nouvelle version majeure par la suite. 3.x est

en cours de développement actif et a déjà connu plus de cinq ans de versions stables, dont la version 3.3 en 2012,

3.4 en 2014 et 3.5 en 2015. Cela signifie que toutes les versions récentes les améliorations de la bibliothèque standard, par exemple, ne sont

disponibles par défaut dans Python 3.x.


Guido van Rossum (le créateur original du langage Python ) a décidé de nettoyer correctement Python 2.x, en se souciant moins de la rétrocompatibilité que ce n'est le cas pour les nouvelles versions de la gamme 2.x. L'amélioration la plus drastique est la meilleure prise en charge d'Unicode (toutes les chaînes de texte étant Unicode par défaut) ainsi qu'une séparation plus saine des octets/Unicode.

En outre, plusieurs aspects du langage de base (tels que print et exec étant des instructions , entiers utilisant le pision au sol) ont été ajustés pour être plus faciles à apprendre pour les nouveaux arrivants et pour être plus cohérents avec le reste du langage, et les anciennes erreurs ont été supprimées (par exemple, toutes les classes sont désormais dans un nouveau style, " range() " renvoie un itérable efficace en mémoire, pas une liste comme dans 2.x). 

 

py2与3的详细区别

PRINT IS A FUNCTION

L'instruction a été remplacée par une fonction print(), avec des arguments de mots clés pour remplace la majeure partie de la syntaxe spéciale de l'ancienne instruction (PEP 3105). Exemples : 

Old: print "The answer is", 2*2 New: print("The answer is", 2*2)
Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline
Old: print # Prints a newline
New: print() # You must call the function!
Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr)
Old: print (x, y) # prints repr((x, y))
New: print((x, y)) # Not the same as print(x, y)!


Vous pouvez également personnaliser le séparateur entre les éléments, par exemple : 

print("There are <", 2**32, "> possibilities!", sep=""


TOUS EST UNICODE MAINTENANT

从此不再为讨厌的字符编码而烦恼

还可以这样: (A,*REST,B)=RANGE(5)

<strong>>>> a,*rest,b = range(5)
>>> a,rest,b
(0, [1, 2, 3], 4)
</strong>


某些库改名了



Old Name



New Name



_winreg



winreg



ConfigParser



configparser



copy_reg



copyreg



Queue



queue



SocketServer



socketserver



markupbase



_markupbase



repr



reprlib



test.test_support



test.support


Ancien nom

Nouveau nom

_winreg

winreg



ConfigParser


configparser

copy_reg

copyreg
File d'attente file d'attente
SocketServer serveur de socket
markupbase _markupbase
repr reprlib
test.test_support test.support
                还有谁不支持PYTHON3 ?Un module populaire qui ne prend pas encore en charge Python 3 est Twisted (pour la mise en réseau et d'autres applications). La plupartbibliothèques activement maintenues ont des personnes travaillant sur le support 3.x. Pour certaines bibliothèques, c'est plus une priorité qued'autres : Twisted, par exemple, se concentre principalement sur les serveurs de production, où la prise en charge des anciennes versions dePython est importante, sans parler de la prise en charge d'une nouvelle version qui inclut des changements majeurs dans la langue. (Twisted estun excellent exemple de package majeur où le portage vers 3.x est loin d'être trivial 更多Python学习【第一篇】Python简介 相关文章请关注PHP中文网!
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn