Quels sont les principaux domaines d'application de Python ? Introduction à Python

PHP中文网
Libérer: 2017-06-20 16:51:23
original
14629 Les gens l'ont consulté

I. PTHon Introduction

Le fondateur de Pyhton est Guido Van Rossum. Pendant la période de Noël 1989, Guido van Rossum tuait le temps à Amsterdam, déterminé à développer un nouvel interpréteur de script comme héritage du langage ABC

Python peut Il est utilisé dans de nombreux domaines , tels que : l'analyse de données, l'intégration de composants, les services réseau, le traitement d'images, le calcul numérique et 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 principaux domaines d'application actuels 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 , Youtube, Dropbox, Douban. . . , Les frameworks WEB typiques incluent Django

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

  • Exploitation et maintenance du système : langage essentiel pour le personnel d'exploitation et de maintenance

  • Finance : trading quantitatif, analyse financière, dans le domaine de l'ingénierie financière, Python est non seulement utilisé, mais aussi 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, une maturité et une stabilité. Il est très puissant en calcul scientifique et en analyse statistique. Son efficacité de production est bien supérieure à celle de C, C++ et Java. est particulièrement doué pour le backtesting de stratégie

  • Interface graphique graphique : PyQT, WxPython, TkInter

Applications Python dans certaines entreprises :

  • Google : Google App Engine, code.google.com, Google earth, Google crawler, publicité Google et d'autres projets sont tous fortement développés en utilisant Python

  • CIA : Le site Web de la CIA est développé en Python

  • NASA : L'administration spatiale des États-Unis ( NASA) utilise largement Python pour l'analyse des données et les calculs

  • YouTube : le plus grand site Web de vidéos au monde YouTube est développé en Python

  • Dropbox : le plus grand site de stockage cloud en ligne aux États-Unis, tous utilisant Python Réalisé, le site Web traite 1 milliard de chargements et de téléchargements de fichiers chaque jour

  • Instagram : le plus grand site de réseautage social de partage de photos aux États-Unis , plus de 30 millions de photos sont partagées chaque jour, toutes développées en python

  • Facebook : Un grand nombre de bibliothèques de base sont implémentées en Python

  • Redhat : yum outil de gestion de paquets dans la distribution Linux la plus populaire au monde Il est développé en Python

  • Douban : Presque toutes les activités de l'entreprise sont développées via Python

  • Zhihu : La plus grande communauté de questions-réponses en Chine, développée via Python (Quora étranger)

  • Dr Chunyu : Le célèbre site Web médical en ligne national est développé en Python

  • En plus de ce qui précède, Sohu, Kingsoft, Tencent, Shanda, NetEase, Baidu, Alibaba, Taobao, Tudou, Sina, Guoke et d'autres sociétés utilisent Python pour effectuer diverses tâches. .

Quel type de langage est Python ?

Quelle est la différence entre compilation et interprétation ?

Le compilateur compile chaque instruction du programme source en langage machine et l'enregistre sous forme de fichier binaire, afin que l'ordinateur puisse la compiler directement en langage machine pendant runtime L'exécution de ce programme est très rapide ;

L'interprète n'interprète le programme qu'un par un en langage machine pour que l'ordinateur l'exécute, donc la vitesse d'exécution n'est pas aussi vite que le programme compilé.

C'est parce que l'ordinateur ne peut pas comprendre et exécuter directement les instructions que nous écrivons, il ne peut comprendre que le langage machine (sous forme binaire)

Compilé vs Interprété

CompiléAvantages : Les compilateurs ont généralement une précompilation Le processus d'optimisation du code. Étant donné que la compilation n'est effectuée qu'une seule fois et ne nécessite pas de compilation au moment de l'exécution, les programmes en langage compilé ont une efficacité d'exécution élevée. Peut fonctionner indépendamment des paramètres régionaux. <br>Inconvénient : Si vous devez le modifier après la compilation, vous devez recompiler l'intégralité du module. Lors de la compilation, le code machine est généré en fonction de l'environnement d'exploitation correspondant. Il y aura des problèmes lors de la transplantation entre différents systèmes d'exploitation. Différents fichiers exécutables doivent être compilés en fonction de l'environnement du système d'exploitation en cours d'exécution. <br>

InterprétéAvantages : Il a une bonne compatibilité de plateforme et peut fonctionner dans n'importe quel environnement, à condition qu'un interpréteur (machine virtuelle) soit installé. Flexible, vous pouvez le modifier directement lors de la modification du code, et il peut être déployé rapidement sans temps d'arrêt pour maintenance. <br>

Inconvénients : il doit être expliqué à chaque exécution et les performances ne sont pas aussi bonnes que celles des langages compilés.

Avantages et inconvénients de Python

Avantages :

  1. Python se positionne comme « é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 de 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 d'exécution lente de Python est en effet beaucoup plus lente que le langage C, et elle est également plus lente que JAVA. C'est aussi la principale raison pour laquelle de nombreux soi-disant experts dédaignent d'utiliser Python, mais en fait, la lenteur d'exécution é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. Par exemple, si vous utilisez C, il a fallu 0,01 s pour exécuter un programme, et 0,1 s en Python. De cette façon, le langage C est directement 10 fois plus rapide que Python, ce qui est très exagéré, mais vous ne pouvez pas le percevoir directement à l'œil nu. , parce que le temps qu'une personne normale peut percevoir est le plus petit. L'unité est d'environ 0,15 à 0,4 s, haha. En fait, dans la plupart des cas, Python peut répondre pleinement aux exigences de vitesse de votre programme, à moins que vous ne souhaitiez écrire un moteur de recherche ayant des exigences de vitesse extrêmement élevées. Dans ce cas, bien sûr, il est recommandé d'utiliser C pour l'implémenter.

  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 plus tard dans les chapitres sur le fil de discussion et le processus

Installation de Python

Windows :

Téléchargez le package d'installation :

Linux :

Aucune installation requise, le système est livré avec un environnement Python. (Si vous disposez de la version 2.X, veuillez passer à la version 3. 🎜>

# Auteur :Aaron LI

nom = ' Aaron Li'

imprimer ("Je m'appelle",nom)

<br><br> Variable Règles de définition :

<span style="font-size: 16px">变量<br>上述代码声明了一个变量,其变量名为name,而变量name的值为:"Aaron Li"</span>
Copier après la connexion

Encodage des caractères

<span style="font-size: 16px">1.变量名只能是 字母、数字或下划线的任意组合<br>2.变量名的第一个字符不能是数字<br>3.一些关键字不能声明为变量名:<br>  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']<br><br></span>
Copier après la connexion
Interpréteur Python Lors du chargement du code dans le fichier .py, le contenu sera encodé (ascill par défaut)

ASCII (American Standard Code for Information Interchange , American Standard Code for Information Interchange) est un ensemble de lettres latines basé sur un système de codage informatique, principalement utilisé pour afficher l'anglais moderne et d'autres langues d'Europe occidentale, ne peut être représenté que par 8 bits maximum (un octet), soit : 2 **8 = 256-1, donc le code ASCII ne peut représenter que jusqu'à 255 symboles

À propos du chinois

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

 

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

 

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

 

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

 

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

 

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,<br>注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) 

 

注释

单行注释: #被注释内容

多行注释: """被注释内容""" 或者 '''被注释内容'''

 

用户交互

 

<br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
# Author:Aaron LI<br><br>username = input("username:") <br>password = input("password:")<br>print (username,password)
Copier après la connexion

 字符串拼接

#namne = input("name")<br>#age = input("age")<br>#job = input("job")<br>#salary = input("salary")<br>#info = """<br>#---------- into of %s ---------<br>#name:%s<br>#age:%s<br>#job:%s<br>#salary%s<br>#""" % (namne,namne,age,job,salary) %占位符跟上边的变量拼接起来<br>#print(info)<br># % DAY 1(10) 10:50处<br><br><br>#name = input("name")<br>#age = int(input("age"))<br>#job = input("job")<br>#salary = input("salary")<br><br>#info = """<br>#    ---------- into of %s-----------------<br>#    name:%s<br>#    age:%d<br>#    job:%s<br>#    salary:%s<br>#""" % (name,name,age,job,salary)<br>#print (info)<br><br>#推崇用此方法<br>name = input("name")<br>age = input("age")<br>job = input("job")<br>salary = input("salary")<br>info = """<br>    ----------info of {_name} --------------<br>    name:{_name}<br>    age:{_age}<br>   job:{_job}<br>    salary:{_slary}<br>""" . format(_name=name,<br>_age=age,<br>_job=job,<br>_slary=salary)<br>print(info)<br>
Copier après la connexion

 

将密码设为密文输出

利用getpass模块

import getpass<br>username = input("username:")<br>password = input("password:")<br>
Copier après la connexion
print(username,password)
Copier après la connexion

#在pycharm中无法输出测试

 

表达式 if......else

提示输入用户名和密码,验证用户名和密码

如果成功,则输出欢迎

如果错误,则输出,用户名和密码

# Author:Aaron LI<br><br>import getpass<br><br>_username = 'lixiguang'<br>_password = 'abc123'<br>username = input("username:")<br>password = input("password:")<br><br>if _username == username and _password == password:<br>print("Welcome  user {name} login......".format(name=username))<br>else:<br>print("Invalid username or password!")
Copier après la connexion

猜年龄

在程序中预先设定好年龄,启动程序后让用户猜测,根据用户的输入提示输入的正确与否,如果错误则给出提示

# Author:Aaron LI<br><br>age_of_lxg = 25<br>guess_age = int(input("guess age:"))<br><br>if age_of_lxg == guess_age:<br>print("Input correct!")<br>elif age_of_lxg > guess_age:<br>print("The input digit is too large")<br>else:<br>print("The input numbers are too small")
Copier après la connexion

表达式for循环

for i in range(0,15):<br>print("Aaron",i)<br><br>
Copier après la connexion
for i in range(0,19,2):<br>print("loop",i)  #2 每执行一个跳一个 (步长)
Copier après la connexion
 <br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
# Author:Aaron LI<br>age_of_lxg = 28<br>for i in range(3):<br> guess_age = int(input("guess_age:") )<br>if guess_age == age_of_lxg:<br>print("yes,you got it.")<br>break<br> elif guess_age > age_of_lxg:<br>print("thine smaller....")<br>else:<br>print("think bigger!")<br>else:<br>print("you have tried too times..")
Copier après la connexion
 <br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

表达式while循环

 

count = 0<br>while True:<br>print("count:",count)<br>    count +=1 #count = count +1<br><br>
Copier après la connexion
# Author:Aaron LI<br><br>age_of_lxg = 28<br>count = 0<br>while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_lxg:
print("yes,you got it.")
break
elif guess_age > age_of_lxg:<br>print("think smaller...")<br>else:<br>print("think bigger...")<br>    count +=1<br>    if count == 3:<br>        coutine_confim = input("do you want to keep guessing.....?")<br>if coutine_confim != 'n':<br>            count = 0
Copier après la connexion
 <br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

break和continue<br>

<br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
count = 0<br>while True:<br>print("count:",count)<br>    count +=1 #count = count +1<br>    if count == 1001:<br>break  #满足条件结束整个循环
Copier après la connexion
<br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
for i in range(0,10):<br>if i <3:<br>print("loop",i)<br>else :<br>continue  #跳出本次循环,进入下次循环<br>    print("haha.....")
Copier après la connexion
 <br>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal