Suivez les cours sur CSDN pour apprendre, Introduction à Python-Connaissances préliminaires-Arbre de compétences d'entrée CSDNPython
Tout d’abord, voici une carte mentale de ce cours :
Table des matières
2 Histoire du développement Python
2.2 Mise à jour de la version Python
2.3 La différence entre Python2.0 et Python3.0
3 Compilation Python et processus d'exécution
3.2 Types d'interpréteurs Python
1.Définition Python
Python est un langage de script facile à apprendre qui combine des scripts interprétés, compilés, interactifs et orientés objet . Python fournit des structures de données de haut niveau, sa syntaxe, son typage dynamique et son interprétabilité en font le langage de programmation de choix pour les développeurs.
-
Python est un langage interprété : il n’y a aucune partie compilation dans le processus de développement. Similaire aux langages PHP et Perl.
-
Python est un langage interactif : le code peut être exécuté directement après une invite Python >>>.
-
Python est un langage orienté objet : Python prend en charge le style orienté objet ou la technique de programmation dans laquelle le code est encapsulé dans des objets.
2 Histoire du développement Python
2.1 Développement de Python
Le fondateur de Python est Guido van Rossum . En 1989, pour tuer l'ennui de Noël, Guido décide de développer un nouvel interprète de scénario, héritage du langage ABC.
2.2 Mise à jour de la version Python
La dernière version de python a atteint 3.10.6 (2022.8.15)
Télécharger Python | Python.org
2.3 La différence entre Python2.0 et Python3.0
- Aspect de sortie
Python2.0 utilise le mot-clé print pour la sortie, tel que : print "Bonjour" ;
Python3.0 utilise la fonction print(), telle que : print("Hello").
- Aspect d'entrée
Python2.0 utilise la fonction raw_input(), par exemple : name=raw_input("Veuillez entrer votre nom :");
Python3.0 utilise la fonction input(), telle que : name=input("Veuillez entrer votre nom :").
- Format d'encodage de chaîne
Python2.0 utilise le codage ASCII par défaut pour coder la chaîne d'entrée ;
Python3.0 utilise le codage Unicode pour coder les chaînes par défaut.
- Comment formater des chaînes
Python2.0 utilise des espaces réservés % pour générer des chaînes dans un format standardisé, tel que : "Bonjour,%s" % ("Monde") ;
Python3.0 utilise la fonction format(), telle que : "Bonjour,{}".format("World").
- Format d'encodage du fichier source
Python2.0 utilise ASCII par défaut, donc lorsque vous utilisez le chinois, ajoutez une ligne de commentaires au début du fichier source : # - - coding: utf-8 - -;
Python3.0 utilise utf-8 par défaut.
- type de données
python2.0 a des types entiers int et longs
python3.0 n'a qu'un type entier int
- Spécifications des codes
Le code source de Python 2.0 n'est pas standardisé et il existe de nombreux codes en double
Le code source de Python 3.0 est rationalisé, beau et élégant
3 Compilation Python et processus d'exécution
Bien que les fichiers de code source Python (.py) puissent être exécutés directement à l'aide de commandes Python, Python n'interprète pas directement le code source Python. Il dispose d'un processus de compilation et d'exécution. Le processus spécifique est le suivant :
Tout d'abord, le code source Python (fichier .py) est compilé pour générer du Byte Code Python (Python Byte Code, l'extension du fichier de bytecode est généralement .pyc), puis exécuté par la machine virtuelle Python (PVM en abrégé) Python bytecode , et enfin afficher les résultats en cours dans le terminal.
Grâce au processus de compilation et d'exécution ci-dessus, il peut être analysé : Python est un langage interprété, qui fait référence à l'interprétation du bytecode Python plutôt qu'au code source Python . L'idée de base de ce mécanisme est cohérente avec Java et .NET.
3.1 Interpréteur Python
L'interpréteur Python ( Interpreter ) traduit le langage Python en instructions machine que le processeur de l'ordinateur peut comprendre.
C'est le python que nous avons installé et utilisé
3.2 Types d'interpréteurs Python
- Cpython : Développé en langage C, l'exécution de Python sous la ligne de commande démarre l'interpréteur Cpython. Le python2.7 officiellement téléchargé est Cpython. Python utilise >>> comme invite.
- Ipython : Un interpréteur interactif basé sur CPython. En d'autres termes, IPython n'est amélioré qu'en mode interactif, mais la fonction d'exécution de code Python est exactement la même que CPython. IPython utilise In [numéro de série] : comme invite.
- PyPy : Principalement destiné à la vitesse d'exécution. Utilisez la technologie JIT pour compiler dynamiquement du code Python. La plupart du code Python peut être exécuté sous PyPy.
- Jpython : Un interpréteur Python fonctionnant sur la plate-forme Java, qui peut directement compiler du code Python en bytecode Java pour exécution.
- IronPython : Un interpréteur Python fonctionnant sur la plate-forme Microsoft .Net qui peut directement compiler du code Python en bytecode .Net.
- Boost.Python : permet aux bibliothèques de classes Python et C++ de s'appeler (.pyc).
3.3 Bytecode Python (.pyc)
Le bytecode en Python est un type de données et le résultat compilé du code Python est un objet bytecode. L'objet bytecode peut être chargé par la machine virtuelle et exécuté directement, et le fichier pyc est la forme enregistrée du bytecode sur le disque dur.
S'il y a un fichier test.py qui doit être exécuté, il générera d'abord un fichier .pyc. Généralement, les situations possibles sont les suivantes :
- L'exécution de python test.py compilera test.py en bytecode et l'interprétera pour l'exécution, mais test.pyc ne sera pas généré.
- Si d'autres modules sont chargés dans test.py, tels que import urllib2, alors Python compilera urllib2.py en bytecode, générera urllib2.pyc, puis interprétera et exécutera le bytecode.
- Si vous souhaitez générer test.pyc, vous pouvez utiliser le module intégré py_compile de python pour le compiler, ou vous pouvez exécuter la commande pour générer test.pyc.
python -m py_compile test.py
- Lors du chargement d'un module, si .py et .pyc existent, python s'exécutera en utilisant .pyc. Si l'heure de compilation de .pyc est antérieure à l'heure de .py, le fichier .py sera recompilé et le fichier .pyc sera être mis à jour.
3.4 Machine virtuelle Python
Python ne compile pas le fichier py en code machine pour l'exécution. Au lieu de cela, la machine virtuelle python interprète et exécute les instructions py une par une. La méthode d'exécution de la machine virtuelle python consiste à imiter la méthode d'exécution des fichiers exécutables x86 ordinaires.
L'entrée de la machine virtuelle est un fichier de bytecode .pyc. Le chargeur de fichier de bytecode charge le fichier binaire .pyc dans la mémoire. Il est interprété et exécuté par le moteur d'exécution, et la sortie est le résultat de l'exécution du fichier de bytecode.
4 applications Python
Les applications Python incluent principalement les domaines suivants :
- Exploitation et maintenance Linux/UNIX : fournit une API (Application Programming Interface) pour faciliter la maintenance et la gestion du système.
- Développement de programmes GUI (PyQt, Kivy, etc.)
- Développement de programmes Web (Django, Flask et autres frameworks) : prend en charge la dernière technologie XML.
- Développement d'applications mobiles (PyQt, Kivy, etc.) : le module PyOpenGL de Python encapsule « l'interface de programmation d'applications OpenGL » et peut effectuer un traitement d'images bidimensionnelles et tridimensionnelles. Le module PyGame peut être utilisé pour écrire des logiciels de jeux.
- Robot d'exploration Web (fournissant des sources de données pour les moteurs de recherche, l'apprentissage en profondeur et d'autres domaines)
- Programmation réseau (basée sur des protocoles tels que Socket) : Fournit une multitude de modules pour prendre en charge la programmation socket, qui permet de développer facilement et rapidement des applications distribuées. De nombreux projets de développement de logiciels à grande échelle tels que Zope, Mnet et BitTorrent. Google l'utilisent largement.
- Traitement graphique : Il est pris en charge par des bibliothèques graphiques telles que PIL et Tkinter, qui peuvent faciliter le traitement graphique.
- Traitement de texte : le module re fourni par python peut prendre en charge les expressions régulières et fournit également des modules d'analyse SGML et XML. De nombreux programmeurs utilisent Python pour développer des programmes XML.
- Programmation de base de données : peut communiquer avec Microsoft SQL Server, Oracle, Sybase, DB2, Mysql, SQLite et d'autres bases de données via des modules qui suivent la spécification Python DB-API (Database Application Programming Interface). Python est livré avec un module Gadfly, qui fournit un environnement SQL complet.
- Science des données : les extensions NumPy fournissent des interfaces étendues vers de nombreuses bibliothèques mathématiques standard. Machine learning (scikit-learn, framework TensorFlow), analyse statistique et visualisation de données (Matplotlib, framework seaborn).
5 fonctionnalités de Python
- Facile à lire et à apprendre : Python est un langage très simple avec un style clair et une indentation forcée. Python a une syntaxe simple et est extrêmement facile à prendre en main.
- Gratuit et open source : Python est un logiciel libre/open source. Vous pouvez modifier et utiliser vous-même son code source.
- Portabilité : Python peut être porté sur de nombreuses plateformes. Les plateformes couramment utilisées incluent Linux, Windows, VxWorks, PlayStation, Windows CE, PocketPC, etc.
- Interprétabilité : L'interpréteur Python convertit le code source en bytecode, puis le traduit dans le langage machine utilisé par l'ordinateur et l'exécute, c'est-à-dire que le code Python n'a pas besoin d'être compilé avant de s'exécuter.
- Orienté objet : Python prend en charge la programmation orientée objet. Les programmes définissent les classes par composition et héritage.
- Évolutivité : Si vous avez besoin d'un morceau de code critique pour s'exécuter plus rapidement ou si vous souhaitez que certains algorithmes ne soient pas rendus publics, vous pouvez écrire une partie du programme en C ou C++ puis l'appeler dans le programme Python.
- Intégrabilité : Python peut être intégré dans des programmes C/C++ pour fournir des fonctionnalités de script aux utilisateurs du programme.
- Ligne de commande interactive : python peut être exécuté en traduction littérale en une seule étape, et le code peut être exécuté directement après une invite Python >>>.
- Bibliothèque standard riche : la bibliothèque standard Python comprend le traitement des chaînes (dictionnaire, découpage de tableaux, expression régulière), génération de documents, multi-threading, sérialisation, base de données, analyse HTML/XML (BeautifulSoup, Expat), tests unitaires (PyUnit), version de code contrôle (PySVN), fichiers WAV, contrôle réseau (urllib2), cryptosystème, GUI (interface utilisateur graphique, PyQt), modules graphiques (Tkinter, PyTCL, WxPython), etc. En plus de la bibliothèque standard, il existe de nombreuses autres bibliothèques de haute qualité, telles que wxPython, Twisted et la bibliothèque d'imagerie Python, entre autres.
- Standardisation : L'utilisation de l'indentation forcée rend le code plus lisible et réduit la confusion visuelle.
- Langage Glue : Python est souvent utilisé comme langage Glue pour « coller » des programmes écrits dans différents langages ensemble. Boost.Python permet aux bibliothèques de classes Python et C++ de s'appeler (.pyc) ; Jpython est Python implémenté en Java, et les deux bibliothèques de classes peuvent être utilisées en même temps ; Ironpython est la version de Python sur la plateforme .NET.
6 avantages de Python
- Facile à apprendre, idéal pour les débutants mais aussi pour les experts
- Très évolutif, adapté aux grands projets ou aux petits programmes ponctuels (appelés scripts)
- Portable, multiplateforme
- Intégrable (rendant ArcGIS scriptable)
- stable et mature
- Grande communauté d'utilisateurs