Maison  >  Article  >  développement back-end  >  Une brève introduction à Python (explication détaillée avec images et texte)

Une brève introduction à Python (explication détaillée avec images et texte)

WBOY
WBOYavant
2022-03-24 19:05:313909parcourir

Cet article vous apporte des connaissances pertinentes sur python, qui présente principalement des questions connexes, notamment le mécanisme de fonctionnement du programme et l'histoire de la naissance et du développement du langage Python. J'espère qu'il sera utile à tout le monde.

Une brève introduction à Python (explication détaillée avec images et texte)

Apprentissage recommandé : Tutoriel d'apprentissage du python

1. Composition informatique

Les ordinateurs sont devenus l'équipement de base de notre époque, et nous en avons tout le temps besoin. Ce n'est plus l'ordinateur de bureau et le serveur auquel les gens pensent, mais a évolué vers n'importe quel objet qui nous entoure, comme les téléphones portables, les tablettes et les ordinateurs portables. Beaucoup de gens ne s'en rendent pas compte subjectivement, mais l'appareil lui-même contient un « ordinateur ». Des équipements tels que des téléviseurs, des fours à micro-ondes, des voitures et même des robots intelligents avec lesquels les enfants peuvent jouer. Il n’est pas exagéré de dire que les ordinateurs sont devenus une extension du corps humain, une extension du cerveau et un élément indispensable. À l’avenir, les ordinateurs entreront réellement dans le corps humain, entreront dans le cerveau et deviendront véritablement une partie du corps humain. Par exemple, le protagoniste du film de science-fiction "The Matrix" peut apprendre rapidement après s'être fait insérer une super aiguille dans le cou, modifier le réseau neuronal du cerveau et devenir un maître de kung-fu en quelques secondes. L'ordinateur, communément appelé ordinateur, est une machine électronique utilisée pour des calculs à grande vitesse. C'est l'une des plus grandes inventions scientifiques et technologiques du 20e siècle. Elle peut effectuer des calculs numériques et des jugements logiques, et a également les fonctions de. mémoire de stockage et traitement des données . Un système informatique complet se compose d'un système matériel et d'un système logiciel, comme le montre la figure ci-dessous :

Une brève introduction à Python (explication détaillée avec images et texte)

1.1 Système matériel

Le système matériel peut être principalement divisé en hôte et périphériques , qui fait référence à la composition Les entités physiques des systèmes informatiques, qui sont principalement composées de divers appareils électroniques et électromécaniques. De ENIAC (le premier ordinateur au monde) aux ordinateurs les plus avancés actuellement, la conception des systèmes matériels adopte l'architecture von Neumann, comme indiqué ci-dessous :ENIAC(世界上第一台计算机)到目前最先进的电脑,硬件系统的设计采用的都是冯·诺依曼体系结构,如下所示:

Une brève introduction à Python (explication détaillée avec images et texte)
  • 运算器: 负责数据的算术运算和逻辑运算,即数据的加工处理;
  • 控制器: 计算机的中枢神经,协调计算机各部分组件工作以及内存和外设的访问;
    其中:运算器和控制器统称为中央处理器,即CPUUne brève introduction à Python (explication détaillée avec images et texte)
    • Opérateur : Responsable des opérations arithmétiques et logiques des données, c'est-à-dire du traitement des données ;
    • Contrôleur : Le système nerveux central de l'ordinateur, coordonnant le travail des divers composants de l'ordinateur ainsi que la mémoire et l'accès externe à l'appareil ;
      Parmi eux :
    • L'unité arithmétique et le contrôleur sont collectivement appelés l'unité centrale de traitement, c'est-à-dire CPU
    • Mémoire :
    Un composant qui implémente des fonctions de mémoire et est utilisé pour stocker des programmes et des données, des commandes et divers signaux et autres informations, et fournir ces informations en cas de besoin

    Périphérique de saisie : Réaliser la saisie de programmes, de données originales, de textes, de caractères, de commandes de contrôle ou de données collectées sur site ; dans l'ordinateur ;

    🎜Périphérique de sortie :🎜 réalise la sortie des résultats intermédiaires ou des résultats finaux générés par le traitement informatique, y compris divers symboles de données, textes, signaux de contrôle et autres informations ;🎜🎜🎜1.2 Système logiciel🎜🎜 Les systèmes logiciels peuvent être principalement divisé en 🎜logiciel système et logiciel d'application 🎜 désigne les différents programmes nécessaires pour assurer le fonctionnement normal de l'ordinateur. Il est l'objet principal de notre pratique de programmation et se compose comme suit : 🎜
    Une brève introduction à Python (explication détaillée avec images et texte)
    • Logiciel système : Assure le fonctionnement et les performances normaux du matériel informatique et offre aux utilisateurs d'ordinateurs une interface intuitive, conviviale et pratique.
  1. Système d'exploitation : Logiciel système qui permet aux utilisateurs de contrôler et de gérer les ressources logicielles et matérielles de l'ordinateur. Il a des fonctions complexes et constitue la base et le noyau du fonctionnement normal de tous les logiciels ;
  2. Compilateur : Également appelé. programme de traitement du langage, sa fonction est de traduire des programmes écrits par des programmeurs utilisant divers langages de programmation, tels que Java et Python, en langage machine exécutable par ordinateur.
  • Logiciel d'application : Le logiciel d'application est la partie du logiciel fournie par l'ordinateur pour répondre aux besoins des différents utilisateurs. Il peut élargir le champ d'application du système informatique et améliorer les performances du matériel.
  1. Catégories de bureaux sociaux : WeChat, QQ, WPS, Tencent Conference, DingTalk, Momo, etc. ;
  2. Catégories de loisirs et de divertissement : QQ Music, Tencent Video, Steam, Happy Landlords, etc. ;
2. Mécanisme d'exécution du programme

  Le langage machine, également appelé code machine, est un ensemble d'instructions qui peuvent être analysées et exécutées via . Les ordinateurs ne peuvent reconnaître que les CPUcodes machine de 0 et de 1 et ne peuvent pas accepter les langues humaines comme le chinois, l'anglais ou d'autres langues. Par conséquent, afin de réaliser l’interaction entre les humains et les ordinateurs, divers langages de programmation ont vu le jour, tels que C++, Java, PhP et Python.

2.1 Compilé et interprété

Analyse : Un ordinateur peut-il reconnaître directement le code Python suivant ?

"""
分析:在控制台输出以下Python代码,计算机可以直接处理吗?
"""print("Hello world!")  # print()为Python中的内置函数,主要用于输出括号内的内容,类似于Java中的System.out.println("Hello world!")
 Évidemment, le code ci-dessus se compose principalement de lettres anglaises et de signes de ponctuation, mais comme mentionné précédemment, l'ordinateur ne peut reconnaître que les codes machine (0 et 1), c'est-à-dire qu'il ne reconnaît pas du tout ce code.

Une brève introduction à Python (explication détaillée avec images et texte)
 Alors, comment contrôler les ordinateurs pour qu'ils fonctionnent grâce au code ?

Une brève introduction à Python (explication détaillée avec images et texte)
 Le processus d'interaction homme-machine est comme lorsqu'un local communique avec un étranger, si les deux parties veulent se comprendre. pensées , vous avez besoin d'un support intermédiaire capable de convertir la langue de l'autre partie en une langue que vous pouvez comprendre d'une manière ou d'une autre, et vice versa. Par conséquent, si l’ordinateur veut comprendre le code que nous écrivons, il doit le convertir en code machine qu’il peut reconnaître. Selon le processus de conversion, les langages de programmation sont divisés en langages compilés et interprétés.

  • Compilé : Le langage compilé peut directement convertir le code en code machine que l'ordinateur peut reconnaître et exécuter, tel que C++.
Une brève introduction à Python (explication détaillée avec images et texte)
C++
Une brève introduction à Python (explication détaillée avec images et texte)
  • 解释型: 解释型语言先将代码转换为字节码,然后再将其翻译成计算机可识别的机器码,如Python
Une brève introduction à Python (explication détaillée avec images et texte)

2.2 计算机处理程序的流程

  1. 用户打开程序,程序开始执行;
  2. 操作系统将程序内容和相关数据送入计算机内存;
  3. CPU根据程序内容从内存中读取指令;
  4. CPU分析、处理指令,并为下一条指令做好准备;
  5. 读取下一条指令分析并处理,如此循环往复直至处理完程序中的全部指令,最后将计算结果放入指令指定的存储器地址中;

2.3 计算机语言发展史

   算法是计算机的灵魂,而编程语言是使得计算机具有灵魂的工具。伴随着计算机硬件的发展,计算机编程语言也历经了从低级到高级的演变,而每一次改变的核心思想就是“让人更容易编程”。计算机硬件的速度越快、体积越小、成本越低,应用到人类社会的场景就会越多,那么所需要的算法就会越复杂,也就要求计算机编程语言越高级。最初重达几十吨但一秒只能运算5000次的ENIAC,只能做非常小的应用,如弹道计算。如今,任何一个人的手机运算能力都可以秒杀那个年代地球上所有计算机运算能力的总和。越容易使用的语言,就有越多人使用;越多人使用,就有越多人协作;越多人协作,就可以创造越复杂的物体。现代社会,一个软件动辄几十或几百人、甚至几千人协作也成为可能,这自然就为开发复杂软件提供了“人力基础”。这是一个人类普遍的社会现象,越容易使用的工具,通过使用数量,通过大量人的协作,彻底改变某个行业甚至人类社会。未来三十年必将是软件人才的世界,除普通软件,大量人工智能软件,如自动驾驶、机器人保姆以及机器人女友都会进入我们的生活,甚至计算机技术和基因工程结合以实现长生不老,感兴趣的可以阅读一下《未来简史: 从智人到智神》。

Une brève introduction à Python (explication détaillée avec images et texte)
  • 机器语言: 相当于人类的的原始阶段;

  机器语言由数字组成所有指令。当让你使用数字编程,写几百个数字、甚至几千个数字,每天面对的是纯数字,可以大胆预测:“程序员群体100%会有精神问题”。机器语言通常由数字串组成(最终被简化成二进制0和1),对于人类来说,机器语言过于繁琐。使用机器语言,人类无法编出复杂的程序。

  • 汇编语言: 相当于人类的手工业阶段;

  为了编程的方便,以及解决更加复杂的问题,程序员开始改进机器语言,使用英文缩写的助记符(单词)来表示基本的计算机操作。这些助记符构成了汇编语言的基础,如:LOAD、MOVE 之类,这样人更容易记忆和使用。识别成百上千个单词,总比成百上千个数字,感觉会好很多。汇编语言相当于人类的手工业社会,需要技术极其娴熟的工匠,但是开发效率也非常低。汇编语言虽然能编写高效率的程序,但是学习和使用都不是易事,并且很难调试。另一个复杂的问题,汇编语言以及早期的计算机语言(Basic、Fortran等)没有考虑结构化设计原则,而是使用goto语句Interprété :

Les langages interprétés convertissent d'abord le code en bytecode, puis le traduisent en code machine reconnaissable par ordinateur, tel que Python .
Une brève introduction à Python (explication détaillée avec images et texte)

2.2 Le flux des programmes de traitement informatique

  1. L'utilisateur ouvre le programme et le programme commence à s'exécuter ;
  2. Le système d'exploitation transfère le programme. Le contenu et les données associées sont envoyés dans la mémoire de l'ordinateur ;
  3. Le CPU lit les instructions de la mémoire en fonction du contenu du programme
  4. Le CPU analyse et traite ; les instructions et prépare l'instruction suivante ;
  5. Lire l'instruction suivante, l'analyser et la traiter, et répéter ce cycle jusqu'à ce que toutes les instructions du programme soient traitées, et enfin placer les résultats du calcul dans l'adresse mémoire spécifiée par l'instruction ;

2.3 Historique du développement des langages informatiques

 🎜Les algorithmes sont l'âme des ordinateurs🎜, et les langages de programmation sont les outils qui font les ordinateurs ont une âme. Avec le développement du matériel informatique, les langages de programmation informatique ont également évolué du bas niveau au haut niveau, et l'idée centrale de chaque changement est de « faciliter la programmation pour les gens ». Plus le matériel informatique est rapide, petit et faible, plus il sera appliqué à de scénarios dans la société humaine et plus les algorithmes requis seront complexes, nécessitant des langages de programmation informatique plus avancés. 🎜ENIAC🎜, qui pesait initialement des dizaines de tonnes mais ne pouvait effectuer que 5 000 calculs par seconde, ne pouvait réaliser que de très petites applications, comme les calculs balistiques. Aujourd'hui, la puissance de calcul du téléphone portable d'une personne peut instantanément dépasser la somme de la puissance de calcul de tous les ordinateurs de la planète à ce moment-là. Plus un langage est facile à utiliser, plus les gens l’utilisent ; plus les gens l’utilisent, plus les gens peuvent collaborer, plus les objets peuvent être créés. Dans la société moderne, il est possible que des dizaines, des centaines, voire des milliers de personnes collaborent sur un logiciel, ce qui constitue naturellement une « base humaine » pour le développement de logiciels complexes. Il s’agit d’un phénomène social courant chez les humains. Plus un outil est facile à utiliser, plus il est utilisé, et la collaboration d’un grand nombre de personnes peut complètement changer une industrie voire une société humaine. Les trente prochaines années seront certainement un monde de talents logiciels. En plus des logiciels ordinaires, un grand nombre de logiciels d'intelligence artificielle, tels que la conduite autonome, les robots nounous et les robots copines, entreront même dans nos vies. être combiné pour atteindre l'immortalité. Intéressé Vous pouvez lire « Une brève histoire du futur : de l'Homo Sapiens à Pallas ». 🎜

Une brève introduction à Python (explication détaillée avec images et texte)
🎜🎜🎜Langage machine :🎜 Équivalent au stade primitif de l'être humain

  Le langage machine comprend toutes les instructions composées de nombres ; Lorsqu'on vous demande d'utiliser la programmation numérique et d'écrire des centaines, voire des milliers de nombres, et d'être confronté à des nombres purs chaque jour, vous pouvez prédire avec audace : « 100 % des programmeurs auront des problèmes mentaux ». Le langage machine, qui consiste généralement en des chaînes de nombres (éventuellement réduites à des 0 et des 1 binaires), est trop lourd pour les humains. Grâce au langage machine, les humains ne peuvent pas programmer de programmes complexes. 🎜🎜🎜🎜Langage assembleur :🎜 Équivalent au stade de l'industrie artisanale humaine ;

Afin de faciliter la programmation et de résoudre des problèmes plus complexes, les programmeurs ont commencé à améliorer le langage machine et à utiliser des abréviations anglaises pour aider les jetons (mots) à représenter les opérations informatiques de base. Ces mnémoniques constituent la base du langage assembleur, tels que : LOAD, MOVE, etc., qui facilitent la mémorisation et l'utilisation par les utilisateurs. Il est bien plus agréable de reconnaître des centaines ou des milliers de mots que des centaines ou des milliers de chiffres. Le langage d'assemblage est équivalent à la société de l'artisanat humain, qui nécessite des artisans extrêmement qualifiés, mais l'efficacité du développement est également très faible. Bien que le langage assembleur puisse écrire des programmes efficaces, il n’est pas facile à apprendre et à utiliser, et il est difficile à déboguer. Un autre problème complexe, le langage assembleur et les premiers langages informatiques (Basic, Fortran, etc.) ne prenaient pas en compte les principes de conception structurée, mais utilisaient des instructions goto comme 🎜déroulement du programme. principale méthode de contrôle 🎜. La conséquence de ceci est qu'un ensemble d'instructions de transfert confuses rendent le programme presque impossible à lire. Pour les programmeurs de cette époque, il était devenu difficile de comprendre le code qu’ils avaient écrit le mois dernier. Néanmoins, le langage assembleur est toujours utilisé dans le domaine de la programmation électronique industrielle, du cryptage et du décryptage de logiciels, de l'analyse de virus informatiques, etc. 🎜

  • Langage de programmation de haut niveau : Équivalent à l'étape industrielle humaine ;

  Pour des tâches simples, le langage assembleur peut faire l'affaire. Cependant, avec le développement des ordinateurs et leur pénétration progressive dans tous les aspects du travail et de la vie, certaines tâches complexes sont apparues et le langage assembleur est devenu insuffisant (il faut dire que les programmeurs utilisent le langage assembleur pour résoudre des problèmes complexes et qu'il existe un goulot d'étranglement). ). En conséquence, des langages de haut niveau sont apparus, tels que C++, Java, etc. Plus le langage est avancé, plus il se rapproche de la pensée humaine et plus il est facile à utiliser. Les langages de haut niveau, notamment les langages orientés objet, tels que Java, Python, etc., rendent la programmation de plus en plus difficile et accessible. À l'heure actuelle et dans un avenir prévisible, les langages informatiques en sont encore au stade du « langage de haut niveau de troisième génération ». Les langages de haut niveau permettent aux programmeurs d'écrire des programmes en utilisant des instructions proches de l'anglais courant. Par exemple, pour implémenter une tâche simple : A+B=C, l'implémentation utilisant le langage machine, le langage assembleur et le langage de haut niveau est la suivante :
Insérer la description de l'image iciC++Java等。语言越高级,越接近人的思维,使用起来就越方便。高级语言,尤其是面向对象的语言,如Java、Python等,使得编程的难度和门槛越来越低。目前以及可预见的未来,计算机语言仍然处于“第三代高级语言”阶段,高级语言允许程序员使用接近日常英语的指令来编写程序。例如,实现一个简单的任务:A+B=C , 使用机器语言、汇编语言和高级语言的的实现如下所示:
Une brève introduction à Python (explication détaillée avec images et texte)

三、Python语言的诞生与发展史

Python是一门动态数据类型、面向对象的解释型语言,主要用于人工智能的各个领域,如机器学习、爬虫与数据分析、深度学习、计算机视觉等。

TIOBE编程语言排行榜:

Une brève introduction à Python (explication détaillée avec images et texte)

3.1 诞生与发展

  • 时代背景: 硬件限制;

  Python的作者,Guido von Rossum(吉多·范·罗苏姆),荷兰人。1982年,吉多从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。在那个时候,吉多接触并使用过诸如Pascal、C、Fortran等语言。这些语言的基本设计原则是让机器能更快运行。在80年代,虽然IBM和苹果已经掀起了个人电脑(personal computer)浪潮,但这些个人电脑的配置很低。比如早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味的程序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。

  • Shell: 本质是调用命令,它不是一个真正的语言;

  这种编程方式让吉多感到苦恼。吉多知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间,即使他已经准确的知道了如何实现。他的另一个选择是shellBourne Shell作为UNIX系统

3. La naissance et l'histoire du développement du langage Python h2>
Python est un type de données dynamique, un langage interprété orienté objet, principalement utilisé dans divers domaines de l'intelligence artificielle, tels que l'apprentissage automatique, les robots d'exploration et l'analyse de données, l'apprentissage profond. , Vision par ordinateur, etc.
Classement des langages de programmation TIOBE :🎜
Une brève introduction à Python (explication détaillée avec images et texte)

3.1 Naissance et développement

🎜🎜🎜Arrière-plan de l'ère :🎜 Limitations matérielles ;🎜🎜🎜  L'auteur de Python, Guido von Rossum (Guido von Rossum), un Néerlandais. En 1982, Guido a obtenu une maîtrise en mathématiques et informatique de l'Université d'Amsterdam. Cependant, même s’il était un mathématicien en quelque sorte, il appréciait encore plus les ordinateurs. Selon lui, bien qu'il possède une double qualification en mathématiques et en informatique, il a toujours tendance à faire des travaux liés à l'informatique et aime faire tout ce qui touche à la programmation. À cette époque, Guido est entré en contact et a utilisé des langages tels que Pascal, C et Fortran. Le principe de base de conception de ces langages est de rendre les machines plus rapides. Dans les années 1980, même si IBM et Apple avaient lancé une vague d'ordinateurs personnels, ces ordinateurs personnels avaient des configurations très faibles. Par exemple, les premiers Macintosh n'avaient qu'une fréquence de processeur de 8 MHz et 128 Ko de RAM. Une grande matrice pouvait remplir la mémoire. 🎜Le cœur de tous les compilateurs est d'optimiser pour que le programme puisse s'exécuter. Afin d'augmenter l'efficacité, le langage oblige également les programmeurs à penser comme un ordinateur afin de pouvoir écrire des programmes plus conformes aux goûts de la machine🎜. À cette époque, les programmeurs étaient impatients d’exploiter chaque centimètre de la puissance de l’ordinateur avec leurs mains. Certains pensent même que les pointeurs du langage C sont un gaspillage de mémoire. Quant à la saisie dynamique, à la gestion automatique de la mémoire, à l'orientation objet... N'y pensez pas, cela va paralyser votre ordinateur. 🎜🎜🎜🎜Shell :🎜 L'essence est d'appeler des commandes, ce n'est pas un vrai langage ;🎜🎜🎜 Ce type de programmation met Guido en détresse. Guido sait écrire une fonction en langage C, mais l'ensemble du processus d'écriture prend beaucoup de temps, même s'il sait déjà exactement comment l'implémenter. Son autre option est 🎜shell🎜. Bourne Shell existe depuis longtemps en tant qu'interprète pour les systèmes UNIX. Les administrateurs UNIX utilisent souvent le shell pour écrire des scripts simples afin d'effectuer certains travaux de maintenance du système, tels que des sauvegardes régulières, la gestion du système de fichiers, etc. 🎜Le Shell peut être comme de la colle, reliant ensemble de nombreuses fonctions du système UNIX🎜. De nombreux programmes en langage C comportant des centaines de lignes peuvent être complétés en quelques lignes seulement sous le shell. Cependant, l’essence du shell est d’appeler des commandes, ce n’est pas un vrai langage. Par exemple, le shell n'a pas de types de données numériques et les opérations d'addition sont très compliquées. 🎜En bref, la coque ne peut pas mobiliser pleinement les fonctions de l'ordinateur🎜. 🎜
  • Langage ABC : Lisible et facile à utiliser, avec des inconvénients évidents ;

 Guido espère avoir un langage capable d'appeler pleinement l'interface fonctionnelle de l'ordinateur comme le langage C, et peut également l'utiliser comme Shell peut être programmé facilement. La langue ABC donne de l'espoir à Guido. ABC a été développé par l'Institut de mathématiques et d'informatique des Pays-Bas. Guido a travaillé à l'institut et a participé au développement du langage ABC. La langue ABC est destinée à l’enseignement. Contrairement à la plupart des langues de l'époque, l'objectif du langage ABC était de « faire en sorte que les utilisateurs se sentent mieux ». ABC Language espère rendre le langage facile à lire, à utiliser, à mémoriser et à apprendre, et stimuler l'intérêt des gens pour l'apprentissage de la programmation.
Cependant, le compilateur du langage ABC nécessite une configuration informatique élevée pour fonctionner, et les utilisateurs de ces ordinateurs maîtrisent généralement les ordinateurs, ils accordent donc plus d'attention à l'efficacité du programme qu'à sa difficulté d'apprentissage. D'un autre côté, les problèmes de conception fatals suivants sont la raison pour laquelle il n'est pas devenu populaire :

  1. Mauvaise évolutivité : ABC n'est pas un langage modulaire Si vous souhaitez y ajouter des fonctions, comme un support graphique, vous devez le faire. besoin de changer de nombreux endroits.
  2. Impossible d'effectuer directement IO :IO: ABC不能直接操作文件系统,即不能直接读写数据。输入输出的困难对于计算机而言是致命的,你能想象一个不能打开车门的跑车吗?
  3. 过度革新: ABC用自然语言的形式来表达程序的意义。例如,它使用How to来定义一个函数,而对于程序员来说,他们更习惯用functiondefine
  4. 传播困难: ABC编译器很大,必须保存在磁带上,这也就意味着如果想要使用它,必须先准备一个大大的磁带。
  • Python孕育与成长: 介于CShell ABC ne peut pas faire fonctionner directement le système de fichiers, c'est-à-dire qu'il ne peut pas directement lire et écrire des données. La difficulté d'entrée et de sortie est fatale aux ordinateurs. Pouvez-vous imaginer une voiture de sport qui ne peut pas ouvrir la porte ?
Sur-innovation :

ABC exprime le sens du programme sous forme de langage naturel. Par exemple, il utilise Comment pour définir une fonction, mais pour les programmeurs, ils sont plus habitués à utiliser function ou define. Difficulté de diffusion : Le compilateur ABC est très volumineux et doit être enregistré sur une bande, ce qui signifie que si vous souhaitez l'utiliser, vous devez d'abord préparer une grande bande.

Gestation et croissance de Python : Un langage simple, facile à apprendre et complet entre C et Shell = ; En 1989, afin de passer les vacances de Noël, Guido commence à écrire un compilateur pour le 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 baptisé Python pourra répondre à son idéal :

Entre C et shell, un langage aux fonctionnalités complètes, facile à apprendre et à utiliser, et évolutif🎜. En tant que passionné de conception de langages, Guido a déjà essayé de concevoir des langages. Cette fois, il ne s’agissait que d’un pur acte de piratage. 🎜🎜  🎜En 1991, le premier compilateur Python est 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. Une grande partie de la syntaxe de Python provient du C, mais elle est également fortement influencée par le langage ABC. Certaines règles du langage ABC sont encore controversées à ce jour, comme l'🎜indentation forcée🎜, mais ces règles grammaticales rendent Python facile à lire. Python, en revanche, choisit intelligemment d'obéir à certaines conventions, en particulier les conventions C, telles que la restauration de 🎜l'affectation du signe égal🎜. Guido estime que si quelque chose est établi sur la base du « bon sens », il n'est pas nécessaire de s'y attarder trop. Python a accordé une attention particulière à l'🎜évolutivité🎜 depuis le début. Python peut être étendu à plusieurs niveaux. 🎜À un niveau élevé, vous pouvez importer directement des fichiers .py. Sous le capot, vous pouvez référencer les bibliothèques C🎜. Les programmeurs Python peuvent rapidement utiliser Python pour écrire des fichiers .py en tant que modules d'extension. Mais lorsque les performances sont un facteur important à prendre en compte, les programmeurs Python peuvent aller plus loin dans la couche inférieure, écrire des programmes C, les compiler dans des fichiers .so et les introduire dans Python pour les utiliser. Python, c'est comme construire une maison en acier. Un grand cadre est d'abord défini, et les programmeurs peuvent l'étendre ou le modifier assez librement dans ce cadre. 🎜

 Le Python original a été entièrement développé par Guido lui-même. Python est bien accueilli par les collègues de Guido. Ils fournissent des commentaires rapides et participent aux améliorations de Python. Guido et quelques collègues forment l'équipe principale de Python. Ils passent la plupart de leur temps libre à pirater Python. Par la suite, Python s’est étendu au-delà de l’institut. Python cache de nombreux détails techniques et les laisse au compilateur pour les gérer, et met en évidence la pensée logique de la programmation. Par conséquent, les programmeurs Python peuvent passer plus de temps à réfléchir à la logique du programme plutôt qu’aux détails spécifiques de l’implémentation. Cette fonctionnalité a attiré un grand nombre de programmeurs et Python est devenu populaire. Le matériel informatique devient de plus en plus puissant et Python est facile à utiliser, c'est pourquoi de nombreuses personnes se tournent vers Python. Guido maintient une liste de diffusion et les utilisateurs de Python communiquent par e-mail. Les utilisateurs de Python viennent de nombreux domaines, ont des parcours différents et ont des besoins différents en Python. Python est assez ouvert et facile à développer, donc lorsque les utilisateurs ne sont pas satisfaits des fonctions existantes, il est facile d'étendre ou de transformer Python. Ces utilisateurs envoient ensuite leurs modifications à Guido, qui décide d'ajouter les nouvelles fonctionnalités à Python ou à la bibliothèque standard. Ce serait un grand honneur si le code pouvait être incorporé dans Python lui-même ou dans la bibliothèque standard. En raison du pouvoir de décision suprême de Guido, il est appelé “终身的仁慈独裁者”. Le 12 juillet 2018, après avoir terminé le PEP (Python Enhancement Proposals) 572, Guido a décidé de se retirer du niveau décisionnel principal de Python.

  La puissance de Python et de sa bibliothèque standard est le résultat des contributions de toute la communauté. Les développeurs Python viennent de différents domaines et apportent les avantages de différents domaines à Python. Par exemple, les expressions régulières de la bibliothèque standard Python font référence à Perl, tandis que les fonctions telles que lambda, map, filter et réduire font référence à Lisp. Certaines fonctionnalités de Python lui-même et la plupart de la bibliothèque standard proviennent de la communauté. La communauté Python continue de se développer et possède son propre groupe de discussion, son site Web et son fonds. À partir de Python 2.0, Python est également passé d'une méthode de développement de listes de diffusion à une méthode de développement entièrement open source. Une atmosphère communautaire s'est formée, le travail est partagé par l'ensemble de la communauté et Python a également atteint un développement plus rapide. À ce jour, le framework Python a été établi. Le langage Python organise le code avec les objets comme noyau, prend en charge plusieurs paradigmes de programmation, utilise des types dynamiques et effectue automatiquement le recyclage de la mémoire. Python prend en charge l'exécution interprétée et peut appeler des bibliothèques C pour l'expansion. Python dispose d'une puissante bibliothèque standard. Depuis que le système de bibliothèques standard s'est stabilisé, l'écosystème Python a commencé à s'étendre aux packages tiers. Ces packages, tels que Django, web.py, wxpython, numpy, matplotlib et PIL, font évoluer Python vers une forêt tropicale humide riche en espèces.

  Python prône l'élégance, la clarté et la simplicité. C'est un langage excellent et largement utilisé. Python se classe huitième dans le classement TIOBE. Il s'agit du troisième langage de développement de Google, du langage de base de Dropbox et du langage serveur de Douban. L’historique du développement de Python peut être utilisé comme représentatif et nous apporter de nombreuses lumières. Dans le processus de développement de Python, la communauté joue un rôle important. Guido pense qu'il n'est pas un programmeur polyvalent, il est donc uniquement responsable de la formulation du framework. Si le problème est trop compliqué, il choisira de le contourner, c'est-à-dire de couper le coin. Ces problèmes sont finalement résolus par d’autres membres de la communauté. Le talent de la communauté est extrêmement riche. Même les choses qui sont légèrement éloignées du développement, comme la création de sites Web et la collecte de fonds, il y a des gens qui sont prêts à s'en occuper. Le développement de projets d'aujourd'hui devient de plus en plus complexe et plus vaste La coopération et l'ouverture d'esprit deviendront la clé du succès ultime du projet.

  Python a beaucoup appris des autres langages, que ce soit ABC qui est entré dans l'histoire, ou C et Perl qui sont encore utilisés, et bien d'autres langages​​non répertoriés. On peut dire que le succès de Python représente le succès de tous les langages dont il s’inspire . De même, Ruby emprunte à Python, et son succès représente également le succès de Python à certains égards. Chaque langue est un mélange, elle a ses avantages, mais elle a aussi divers défauts. Dans le même temps, le jugement « bon ou mauvais » d'un langage est souvent soumis à des facteurs externes tels que la plate-forme, le matériel, l'époque, etc. Les programmeurs ont connu de nombreux conflits linguistiques.

3.2 Philosophie de conception

  • Obtenez la philosophie de conception Python : Après avoir installé avec succès le logiciel Python (sujet suivant), ouvrez n'importe quel environnement d'édition et tapez importer ceci pour exécuter import this运行即可;
Une brève introduction à Python (explication détaillée avec images et texte)
  • 总结: 简单优雅可扩展,实用扁平是关键,最佳方案only one???

3.3 优势与不足

  • 优势:
  1. 简单易学可扩展: 阅读一个良好的Python程序就像欣赏一篇优美的文章一样,尽管它的要求非常严格,如强制缩进可提高代码的可读性。Python的这种伪代码本质使得我们可以更多地关注于解决问题的逻辑而非搞明白语言本身,如我们无需过多关注诸如内存管理这样的底层细节。如果我们希望一段关键代码运行的更快(C要比Python快50倍以上)或希望某些算法不公开,可以把部分程序用CC++语言编写,然后在Python程序中进行调用。
  2. 免费开源可移植: Python是FLOSS(自由/开放源码软件)之一,也就是说我们可以自由地发布这个软件的拷贝、阅读它的源代码 、对它做改动、把它的一部分用于新的自由软件中。由于其开源本质,Python可移植在许多计算机平台上,如Windows、Linux等
  3. 面向对象: Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其它的编程语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,而封装、继承和多态三大特性则是它成"神"的关键。
  4. 动态语言: 动态语言,又称为弱类型语言,是指变量在创建时不需声明类型,具体类型根据指向的内存单元中的数据类型决定,即指向什么类型就是什么类型。相反,静态语言(强类型语言),定义变量时需要声明类型,变量指向的内存单元可存放的数据类型固定。例如,Python中定义一个整数变量为num = 10,而在Java中则为int num = 10;。总结:动态类型,指向可变,内存单元中的内容不可变;静态类型,指向不可变,内容可变。
  5. 解释型语言: 编译型语言,如C++
  6. Résumé :
  7. Simple, élégant et évolutif, pratique et plat est la clé, la meilleure solution n'en est qu'une ???
  8. 3.3 Avantages et inconvénients
  • Avantages :
    Facile à apprendre et évolutif :

    Lire Un bon programme Python, c'est comme apprécier un bel article, même si ses exigences sont très strictes, comme forcer l'indentation pour améliorer la lisibilité du code. La nature

    pseudocode de Python
    nous permet de nous concentrer davantage sur la logique de résolution des problèmes plutôt que sur la compréhension du langage lui-même. Par exemple, nous n'avons pas besoin de prêter trop d'attention aux détails de bas niveau tels que la gestion de la mémoire. Si nous voulons qu'un Une brève introduction à Python (explication détaillée avec images et texte)code critique s'exécute plus rapidement
    (le C est plus de 50 fois plus rapide que Python) ou que

    certains algorithmes ne soient pas rendus publics, nous pouvons utiliser C ou C++ pour une partie du programme Language, puis appelé dans le programme Python.

    🎜Open source gratuit et portable :🎜 Python est l'un des 🎜FLOSS🎜 (logiciel libre/open source), ce qui signifie que nous pouvons librement distribuer des copies de ce logiciel, lire son code source, y apporter des modifications et en partie est utilisé dans les nouveaux logiciels libres. En raison de sa nature open source, 🎜Python est portable sur de nombreuses plates-formes informatiques, telles que Windows, Linux, etc.🎜. 🎜🎜🎜Orienté objet :🎜 Python prend en charge la programmation procédurale et orientée objet. 🎜Dans les langages « orientés procédure »🎜, les programmes sont construits à partir de procédures ou simplement de fonctions qui sont du code réutilisable. 🎜Dans les langages « orientés objet »🎜, les programmes sont construits à partir d'objets qui combinent données et fonctionnalités. Comparé à d'autres langages de programmation tels que C++ et Java, Python implémente la programmation orientée objet d'une manière très puissante et simple, et ses trois fonctionnalités majeures que sont l'encapsulation, l'héritage et le polymorphisme sont les clés de son « dieu ». 🎜🎜🎜Langage dynamique :🎜 Le langage dynamique, également connu sous le nom de 🎜langage faiblement typé🎜, signifie que la variable n'a pas besoin de déclarer le type lors de sa création🎜. Le type spécifique est déterminé en fonction du type de données dans l'unité de mémoire. pointé, c'est-à-dire que le type pointé est Quel type. Au contraire, le 🎜langage statique (langage fortement typé)🎜, lors de la définition d'une variable, 🎜doit déclarer le type🎜, et le type de données qui peut être stocké dans l'unité mémoire pointée par la variable est fixe. Par exemple, une variable entière est définie en Python comme num = 10, mais en Java, elle est int num = 10;. Résumé : les types dynamiques pointent vers des variables et le contenu de l'unité de mémoire est immuable ; les types statiques pointent vers immuable et le contenu est variable. 🎜🎜🎜Langages interprétés :🎜 🎜Les langages compilés🎜, tels que les programmes écrits en C++🎜 peuvent être convertis à partir de fichiers sources (langage C++) vers un langage utilisé par votre ordinateur, c'est-à-dire du code binaire ( 0 et 1)🎜. Ce processus est effectué via le compilateur et différents indicateurs et options. Lorsque nous exécutons le programme, le logiciel de réimpression de connexion copie notre programme du disque dur vers la mémoire et l'exécute. Et 🎜Les programmes écrits en langage Python n'ont pas besoin d'être compilés en code binaire🎜. Nous pouvons exécuter le programme directement à partir du code source. À l'intérieur de l'ordinateur, l'interpréteur 🎜Python convertit le code source en une forme intermédiaire appelée bytecode, qui est ensuite traduit en code machine utilisé par l'ordinateur et exécuté🎜. Comme il suffit de copier notre programme Python sur un autre ordinateur pour qu'il fonctionne, cela facilite également le portage des programmes Python. 🎜🎜🎜Bibliothèques riches :🎜 Y compris la propre bibliothèque standard de Python et des bibliothèques tierces. Parmi elles, la bibliothèque standard de Python peut nous aider à gérer diverses tâches, notamment les expressions régulières, la génération de documents, les threads, les bases de données, le HTML, l'interface graphique, etc. C’est ce qu’on appelle la « philosophie « complète » de Python🎜. En plus de la bibliothèque standard, Python prend également en charge l'installation de bibliothèques tierces, telles que les bibliothèques d'images wxPython, Twisted et Python. 🎜🎜🎜🎜🎜Inconvénients :🎜 Le langage Python est très parfait, sans défauts ni défauts évidents. Le seul défaut est la 🎜efficacité d'exécution lente🎜, commune aux langages interprétés. Cependant, cette faille sera atténuée à mesure que les performances du matériel informatique continueront de s'améliorer. 🎜🎜🎜3.4 Scénarios d'application🎜🎜🎜🎜🎜Apprentissage recommandé : 🎜Tutoriel Python🎜🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer