Este pe moarte limbajul de programare Python? Merită să înveți Python

Programul este un set de algoritmi care oferă acțiunile necesare. În mod convențional, în același mod, puteți programa o persoană obișnuită scriind comenzi precise, astfel încât, de exemplu, să facă ceai. Dacă în ultima versiune se va folosi vorbirea naturală (rusă, ucraineană, engleză, coreeană etc.), apoi computerul va avea nevoie limbaj special programare. Python este unul dintre acestea. Mediul de programare va traduce ulterior comenzile în și scopul persoanei pentru care a fost creat algoritmul va fi îndeplinit. „Python” are propria sa sintaxă, care va fi discutată mai jos.

Istoria limbii

Dezvoltarea a început în anii 1980 și s-a încheiat în 1991. Limbajul Python a fost creat de Guido van Rossum. Deși simbolul principal al „Python-ului” este un șarpe, acesta a fost numit după spectacolul de comedie american.

La crearea limbajului, dezvoltatorul a folosit câteva comenzi împrumutate de la Pascal, C și C++ existente. După lansarea primei versiuni oficiale pe Internet, un întreg grup de programatori s-au alăturat perfecționării și îmbunătățirii acesteia.

Unul dintre factorii care i-au permis lui Python să devină destul de faimos este designul. El este recunoscut de mulți specialiști de mare succes drept unul dintre cei mai buni.

Caracteristicile lui „Python”

Limbajul de programare Python pentru începători va fi un profesor excelent. Are o sintaxă destul de simplă. Codul va fi ușor de înțeles, deoarece nu include multe elemente auxiliare, iar structura specială a limbajului vă va învăța cum să indentați. Desigur, un program bine conceput cu un număr mic de comenzi va fi imediat de înțeles.

Multe sisteme de sintaxă au fost create bazate pe programarea orientată pe obiecte. Nicio excepție nu este limbajul Python. De ce anume a luat ființă? Va facilita învățarea pentru începători, va ajuta la reamintirea unor elemente pentru angajații deja calificați.

Sintaxa limbajului

După cum am menționat deja, codul este citit destul de ușor și simplu. „Python” are comenzi secvențiale care se disting prin claritatea execuției. În principiu, operatorii folosiți nu vor părea dificili nici măcar pentru începători. Acesta este ceea ce face ca Python să fie diferit. Sintaxa sa este ușoară și simplă.

Operatori traditionali:

  • Când setați o condiție, utilizați constructul if-else. Dacă există prea multe astfel de linii, puteți introduce comanda elif.
  • Clasa este pentru înțelegerea clasei.
  • Unul dintre operatorii simpli este trecerea. Nu face nimic, se potrivește blocurilor goale.
  • Comenzile buclei sunt while și for.
  • Funcția, metoda și generatorul sunt definite de def.

Pe lângă cuvintele individuale, limbajul de programare Python vă permite și să utilizați expresii ca operatori. Folosind înlănțuirea șirurilor, puteți reduce numărul de comenzi individuale și paranteze. Se folosesc și așa-zisele calcule leneșe, adică cele care se efectuează numai atunci când condiția o cere. Acestea includ și și sau.

Procesul de scriere a programelor

Interpretul lucrează pe un singur mecanism: atunci când scrieți o linie (după care este plasat „Enter”), aceasta este executată imediat și o persoană poate vedea deja un fel de rezultat. Acest lucru va fi la îndemână și va fi destul de convenabil pentru începători sau pentru cei care doresc să testeze o mică bucată de cod. În mediile compilate, ar trebui să scrieți mai întâi întregul program, apoi să îl executați și să verificați dacă există erori.

Limbajul de programare Python (pentru începători, așa cum a devenit deja clar, se potrivește perfect) în sala de operație sistem Linux vă permite să lucrați direct în consola în sine. Ar trebui să scrieți numele codului „Python” pe linia de comandă în Limba engleză. Nu va fi dificil să creezi primul tău program. În primul rând, merită să luați în considerare faptul că aici puteți folosi interpretul ca calculator. Deoarece specialiștii tineri și începători nu sunt adesea prietenoși cu sintaxa, algoritmul poate fi scris în acest fel:

După fiecare rând, trebuie să puneți „Enter”. Răspunsul va fi afișat imediat după apăsarea acestuia.

Date utilizate de Python

Datele folosite de calculatoare (și limbaje de programare) sunt reprezentate de mai multe tipuri, iar acest lucru este destul de evident. Numerele pot fi fracționale, întregi, pot fi formate din mai multe cifre sau pot fi foarte masive datorită părții fracționale. Pentru ca interpretul să lucreze mai ușor cu ei și să înțeleagă cu ce are de-a face, ar trebui să specificați un anumit tip. Mai mult, este necesar ca numerele să se încadreze în celula de memorie alocată.

Cele mai frecvente tipuri de date utilizate de limbajul de programare Python sunt:

  • Întreg. Este despre despre numere întregi care au atât valori negative, cât și pozitive. În acest tip este inclus și zero.
  • Pentru ca interpretul să înțeleagă că lucrează cu părți fracționale, trebuie specificat tipul de virgulă mobilă. De regulă, este folosit în cazul utilizării numerelor cu punct variabil. Trebuie reținut că atunci când scrieți un program, trebuie să respectați notația „3.25” și să nu folosiți virgula „3.25”.
  • În cazul adăugării de șiruri, limbajul de programare Python vă permite să adăugați tipul de șir. Adesea, cuvintele sau expresiile sunt incluse într-un singur sau

Dezavantaje și avantaje

În ultimele decenii, oamenii au fost mai interesați de cum să petreacă mai mult timp stăpânind datele și mai puțin timp pentru ca acestea să fie procesate de un computer. Limbă despre care numai pozitiv, este codul cel mai înalt.

Practic nu există deficiențe în Python. Singurul dezavantaj serios este încetineala în execuția algoritmului. Da, dacă îl compari cu „C” sau „Java”, el este, sincer, o țestoasă. Acest lucru se explică prin faptul că aceasta

Dezvoltatorul s-a asigurat că adaugă tot ce este mai bun în Python. Prin urmare, atunci când îl utilizați, puteți vedea că a absorbit cele mai bune caracteristici ale altor limbaje de programare superioare.

În cazul în care ideea care este implementată de interpret nu este impresionantă, atunci va fi posibil să înțelegeți acest lucru aproape imediat, după ce ați scris câteva zeci de rânduri. Dacă programul merită, atunci secțiunea critică poate fi îmbunătățită în orice moment.

Acum mai mult de un grup de programatori lucrează la îmbunătățirea Python, așa că nu este un fapt că codul scris în C ++ va fi mai bun decât unul creat folosind Python.

Cu ce ​​versiune este mai bine să lucrezi?

Acum două versiuni ale unui astfel de sistem sintactic precum limbajul Python sunt utilizate pe scară largă simultan. Pentru începători, alegerea dintre ele va fi destul de dificilă. Trebuie remarcat faptul că 3.x este încă în curs de dezvoltare (deși este lansat în masă), în timp ce 2.x este o versiune complet finalizată. Mulți recomandă utilizarea 2.7.8, deoarece practic nu întârzie și nu se rătăcește. În versiunea 3.x nu există modificări radicale, așa că în orice moment vă puteți transfera codul în mediul de programare cu o actualizare. A descărca programul necesar, ar trebui să accesați site-ul web oficial, să vă selectați sistemul de operare și să așteptați finalizarea descărcării.

Totul este rău, puteți folosi Kivy ca proiecte pentru animale de companie, este foarte îndoielnic pentru dezvoltarea reală, nu există locuri libere pe Kivy.

Acestea. De exemplu, am vorbit personal cu un număr de oameni care aveau propriul proiect web în Python și au scris aplicații în Kivy pentru a capta un public larg și chiar l-au folosit, dar se pare că „Programatorul scrie ceea ce vrea”.

Învățare automată și știința datelor (adecvate și promițătoare)

Aceasta este una dintre cele mai populare zone ale lumii IT moderne, unde Python este folosit ca instrument de testare. Python are o serie de biblioteci convenabile pentru învățare automată și calcule științifice: Pandas, NumPy, SciPy, Scikit-Learn, care vă permit să construiți rapid modele de lucru. Și chiar funcționează foarte bine.

În ceea ce privește utilizarea, Python este folosit ca instrument de testare sau pentru sarcini mici. Dacă proiectul este mare, atunci de obicei modelul este scris în Java / Scala / C ++, iar specialistul în formare acționează deja ca consultant / analist.

Complexitatea acestei direcții constă în faptul că trebuie să ai cunoștințe înalte în domeniul matematicii și statisticii, aproape întotdeauna vi se va cere o educație superioară tehnică, matematică.

Totul este destul de bine pentru posturi vacante, dar în astfel de posturi vacante nu este nevoie de cunoștințe de Python, ci de capul tău.

Pentru cei care vor să simtă rapid această direcție, vă sfătuiesc să citiți cartea: „Vvedenie_v_mashinnoe_obuchenie_s_pomoschyu_Python_-_A_Myuller_S_Gvido_2017” - disponibilă pe torrente, se citește rapid, oferă o prezentare bună.

Scraping web (posibil, dar îndoielnic)

Python are trei lucruri care îl fac foarte eficient în web scraping, biblioteca de solicitări, beautifulsoup și API-ul Selenium. Dacă conectați biblioteci aici pt viziune computerizatăși Machine Learning, se obțin instrumente foarte eficiente.

Problema este că există puține posturi libere în acest domeniu, clienții principali sunt freelanceri care se oferă să scrie scripturi de analiză pentru site-urile lor de rahat, mașinile de spam și, ocazional, să revizuiască generatoarele pentru o remediere.

Zona este interesantă, dar sunt puțini bani în ea.

Viziune computerizată (dubios)

Python are o serie de instrumente care vă permit să scrieți instrumente de viziune computerizată, sunt chiar folosite local în produse comerciale sau ca componente pentru web scraping, de exemplu. Cu toate acestea, Python în mod clar nu poate fi numit un instrument adecvat, așa că utilizarea este extrem de limitată, practic nu există locuri libere.

GameDev (îndoielnic)

Aproape fiecare discuție despre dezvoltarea jocurilor Python citează ca exemple eve online și WarGaming. Cu toate acestea, în primul caz, se folosește python fără stat, iar în al doilea caz, totul este limitat la limbajul de scripting.

Cât despre utilizare reală, atunci ai trei motoare Kivy, PyGame, Panda3D, dacă primele două sunt mai potrivite pentru proiecte pentru animale de companie, atunci al treilea a fost într-adevăr folosit la proiecte de luptă de bună calitate, deși aceste proiecte erau din 2004. Ceea ce, parcă, sugerează că folosirea motoarelor dovedite în alte limbi, cum ar fi Unity sau Game Maker, pare mai convingătoare.

Totuși, aici se strecoară pe neobservat motorul Ren'Py, care a devenit brusc cele mai bune motoare pentru scrierea de romane vizuale (povesti de suferință pentru fete), care dau rezultate destul de bune chiar și în cadrul Federației Ruse. Seria „7 Demonologi ai lui Petru cel Mare” este dovada acestui lucru.

Desigur, nu există locuri libere în GameDev pentru un python, dar puteți strânge bani pentru un „startup” cu abilitățile cuvenite. Dar este mai sigur să luați o altă limbă și motoare dovedite.

Dezvoltare web (adecvată și promițătoare)

Python este unul dintre cele trei limbaje (Python, PHP, Ruby) care au dezvoltat ecosisteme pentru dezvoltarea rapidă a proiectelor web de calitate adecvată. Platformele cheie de aici sunt:
  • Django (cadru sincron monolitic)
  • Balon (cadru micro sincron)
  • Tornado (cadru monolitic asincron)
  • Răsucit (cadru monolitic asincron)
  • Aiohttp (cadru micro asincron)
În acest moment, cea mai mare parte a pieței este ocupată de framework-ul Django, dar odată cu apariția ideilor de microservicii, Flask a început treptat să capete amploare. În ceea ce privește asincronia, totul este complicat aici, deoarece Tornado și Twisted sunt recunoscute ca învechite (deși multe companii lucrează pentru ele, același Tinkov), iar aiohttp este foarte grosier, iar utilizarea lui este pusă sub semnul întrebării.

Puterea lui Python constă în faptul că vă permite să dezvoltați rapid aplicații web complexe, are un număr mare de module de înaltă calitate și este perfect pentru serviciile de statistică și analiză (unde, în general, majoritatea posturilor vacante merg pentru asta ). Această direcție ocupă treimea rămasă din toate posturile vacante.

Separat, aș dori să remarc scrierea serviciilor GIS în Python, care, deși au instrumente destul de adecvate pentru lucrul cu geodate, folosirea Java în aceste scopuri pare mai promițătoare.

Concluzii despre utilizarea python

1) În ceea ce privește sfera devop-urilor și testării, Python este instrumentul cheie al profesiei, care este obligatoriu pentru fiecare specialist adecvat. Python în acest caz nu este predat, oamenii vin la el de necesitate.

2) Cele mai promițătoare domenii sunt dezvoltarea web și învățarea automată (analitica), care disting clar python de concurenții săi sub formă de PHP și Ruby. Iar dacă vrei să înveți python, atunci este indicat să te concentrezi pe aceste domenii și să nu-ți pierzi timpul cu altceva. Există posturi vacante pentru asta, puteți construi un startup pe asta.

3) Toate celelalte domenii, deși oferă anumite instrumente pentru rezolvarea problemelor, dar perspectivele de utilizare a acestor instrumente par foarte îndoielnice. Și cel mai important, este aproape imposibil să găsești un loc de muncă plătit în aceste zone.

Ar trebui să înveți limbajul de programare Python? La urma urmei, poți auzi adesea că această limbă este pe moarte. Această problemă a fost discutată de utilizatorii Quora și și-au împărtășit opiniile.

Bill Karven, Dezvoltator SQL, Consultant, Trainer și Autor

Limbajul de asamblare vă oferă o oportunitate excelentă de a scrie cod compact, eficient și optimizat pentru proiect. În codul scris în această limbă, care ocupă doar câțiva kilobytes, poți face lucruri uimitoare. Dar nivelul de eficiență pe care îl puteți obține cu limbajul de asamblare nu justifică munca suplimentară, timpul suplimentar și abilitățile pe care le necesită.

Este adevărat că atât limbile câștigă popularitate, cât și o pierd. Productivitatea este principala preocupare în programare, așa că din când în când se creează noi limbaje care cresc productivitatea, cel puțin pentru unele tipuri de muncă.

Majoritatea programatorilor de astăzi folosesc limbaje de nivel superior - trebuie să fie mai productivi. Limbajele de nivel superior pot fi compilate în codul mașinii (C sau C++) sau pot fi compilate în bytecode independent de arhitectură și rulate în mașină virtuală(Java) sau să fie procesate (JavaScript, PHP, Ruby, Python, Perl etc.).

Concepția greșită că este necesar să înveți limbajul de asamblare, pentru că „este mai bun decât Python”. Acesta este un punct de vedere stupid bazat pe date învechite.

Bill Poucher, Director executiv ICPC, software pentru energie, genetică sintetică etc.

Învață Python. Oferă-ți experiență în programare. Acest limbaj are propria eleganță.

Învață C ca limbaj pentru mașinile Unix. Înțelegerea UNIX este relativ ușoară.

Învață MIX pentru a-l înțelege pe Knuth.

Învață Java pentru a nu avea probleme în a lucra cu alții și, de asemenea, învață programarea orientată pe obiecte.

Învață C++ să programezi în orice stil vrei. Punctul său forte este că este principalul limbaj de programare. Punctul său slab este că, pentru a programa pe el, trebuie să-i înțelegeți stilul.

Aflați LISP pentru a vă consolida înțelegerea recursiunii.

Am spus că nu merită să înveți măcar ceva? Nu. Pentru că singurul lucru pe care trebuie să-l faci este să te antrenezi studiu constant orice, mai ales să înveți cum să rezolvi problemele care apar.

Shiva Shinde, Python este ușor de codat, dar greu de citit

Limbajul de programare Python nu moare, este unul dintre limbajele cu cea mai rapidă creștere.

  1. Este ușor de învățat
  • Pe acest moment 8 dintre primele 10 programe de calcul din SUA folosesc acest limbaj (Philip Guo, CACM)
  • Programele Python tind să aibă un minim de boilerplate care se găsește de obicei în alte limbaje de programare. Prin urmare, puteți utiliza mai des soluții fără șablon pentru probleme.
  • Dacă ai experiență de programare, chiar dacă nu în acest limbaj, atunci vei stăpâni rapid Python.

2. Funcționalitate completă

  • Nu este doar un limbaj pentru statistici. Python are tot ce aveți nevoie pentru colectarea și curățarea datelor, baze de date, calcul de înaltă performanță și multe altele.
  • Acesta este un limbaj de programare comun cu un număr mare de biblioteci încorporate. Este bun pentru gestionarea datelor și a bazelor de date, precum și pentru munca de programare în rețea. Este o limbă bine gândită, cu o cantitate imensă de resurse disponibile.

3. Biblioteci de date științifice serioase

  • Python are biblioteci științifice semnificative cu o cantitate imensă de date de utilizat.
  • Aceste biblioteci științifice este Ecosistemul SciPy, care găzduiește chiar și propriile conferințe.
  • Pandas și Matplotlib fac parte din SciPy. Ele oferă date excelente pe o mare varietate de subiecte, cum ar fi învățare automată, text mining și analiză de rețea.

Hernan Soulages, programator pragmatic

Această limbă este destul de populară, importanța sa este în creștere în cercurile academice. De asemenea, este adevărat că utilitatea unui limbaj de programare depinde de ceea ce vrei să faci cu el.

Nu-mi place deloc PHP, dar nu sunt suficient de prost încât să-i neg versatilitatea și puterea și faptul că acest limbaj este destul de ușor de stăpânit.
În ceea ce privește învățarea asamblatorului, acest limbaj depinde direct de procesorul cu care lucrați.

Dacă știi să lucrezi cu unul, atunci cu siguranță îl vei putea folosi într-o familie de procesoare de ceva timp. Dar de-a lungul timpului, ele suferă unele modificări. În acest sens, este cea mai puțin durabilă familie de limbi.

Magnus Lychka, dezvoltator softwareși consultant în Göteborg

Mulți utilizatori le place Python. Pentru unele aplicații, va fi prea lent și, de exemplu, cu limbajul de asamblare vor funcționa mai repede, dar aceste aplicații vor funcționa rapid și în C, în timp ce codul scris în C va funcționa pentru orice platformă.

Multe startup-uri au avut succes cu Python, după care trebuie să rescrie unele programe în Java, C++ sau C. Și dacă aceste startup-uri au început să lucreze cu limbajul de asamblare, atunci cel mai probabil ar fi rămas fără finanțare cu mult înainte de a fi foarte rapid. dar codul greu de citit ar fi terminat.

Dar atunci când lucrați cu limbajul de asamblare, va trebui să vă ocupați nu numai de diferite arhitecturi de procesor, ci și de detalii tehnice care diferă în diferite sisteme de operare.

Python este un limbaj de nivel înalt, de uz general, care poate fi extins și încorporat. Este, de exemplu, inclus în suita de aplicații ca instrument de scriere macro. Acest lucru face din Python o alegere rezonabilă pentru multe sarcini de programare, mari și mici, și nu atât de bună pentru un număr mic de sarcini de calcul.

Unde este cel mai bun loc de folosit?

Limbajul Python este ideal pentru proiecte care necesită o dezvoltare rapidă. Acesta acceptă mai multe paradigme de programare, ceea ce este bun pentru programele care necesită flexibilitate. Iar disponibilitatea multor pachete și module oferă versatilitate și economisește timp.

Guido van Rossum este creatorul lui Python, onorat cu afecțiune de comunitate ca un „dictator binevoitor pe viață”. La sfârșitul anilor 1980, lui Guido îi plăceau caracteristicile unor limbaje de programare, dar niciunul dintre ele nu avea toate caracteristicile pe care și-ar fi dorit să le aibă. În special, limba trebuie să aibă următoarele caracteristici.

Limbajul scriptului

Un script este un program care controlează alte programe. Limbajele de scripting sunt potrivite pentru dezvoltare și prototipare rapidă, deoarece sunt bune la transmiterea datelor de la o componentă la alta și salvează programatorul de lucruri supărătoare precum gestionarea memoriei.

Comunitatea de utilizatori preferă să se refere la Python ca un limbaj de programare dinamic.

Indentare pentru gruparea declarațiilor

Python determină dacă expresiile aparțin aceluiași grup folosind indentarea. Un astfel de grup se numește bloc de cod. Alte limbi folosesc sintaxă sau punctuație diferită pentru aceasta. De exemplu, în C, simbolul caracterului ( indică începutul și ) este sfârșitul unei secvențe de comenzi. Indentarea este considerată o practică bună și în alte limbi, dar unul dintre primii care a impus indentarea a fost Python. Ce dă? Indentarea face codul mai ușor de citit, iar blocurile de cod necesită mai puține semne de început și de sfârșit și semne de punctuație care pot fi ratate accidental. Toate acestea duc la mai puține erori.

Tipuri de date la nivel înalt

Calculatoarele stochează datele în unu și zero, dar oamenii au nevoie de forme mai complexe, cum ar fi textul. Se spune că un limbaj care acceptă date complexe acceptă tipuri de date de nivel înalt. Aceste tipuri de date sunt ușor de manipulat. De exemplu, în Python, șirurile pot fi împărțite, concatenate, majuscule, minuscule, căutabile etc. Tipurile de date la nivel înalt, cum ar fi listele și dicționarele, care pot stoca alte date, sunt mult mai mari funcţionalitate decât alte limbi.

Extensibilitate

Un limbaj de programare extensibil poate fi extins. Astfel de limbi sunt foarte puternice, deoarece suplimentele le fac potrivite pentru multe aplicații și sisteme de operare. Extensiile pot adăuga sau concepte, module și pluginuri. Limbajul Python este extins în mai multe moduri. Un grup central de programatori lucrează pentru a-l schimba și îmbunătăți, iar sute de alții scriu module pentru scopuri specifice.

Interpretare

Limbile interpretate sunt executate direct din cod sursa, scrise de oameni, și programele scrise în limbaje compilate, cum ar fi C++, trebuie traduse în limbaje mai lente, deoarece traducerea are loc din mers, dar scrierea programelor și depanarea lor este mai rapidă, deoarece nu este nevoie să așteptați până când compilatorul complet. Ele sunt mai ușor portate pe diferite platforme.

Se poate argumenta dacă Python este un limbaj interpretat sau compilat. Deși în multe privințe funcționează ca un interpret, este compilat înainte de execuție (la fel ca în Java), iar multe dintre componentele sale rulează la viteza maximă a mașinii, deoarece sunt scrise în C.

Guido a început să scrie Python în timpul sărbătorilor de Crăciun în 1989, iar în anul următor a perfecționat limbajul pe baza feedback-ului colegilor săi. Publicul larg a văzut rezultatul în februarie 1991, când a fost postat pe unul dintre grupurile de știri Usenet.

Pentru a începe să scrieți programe în Python, trebuie să îl instalați. Python 2.7 și Python 3.5 au diferențe semnificative care fac ca programele scrise în ele să fie incompatibile.

Pe computerele Macintosh, această limbă este preinstalată, iar versiunea sa depinde de vârsta sistemului de operare. Pe Windows, va trebui să instalați singur Python. Fișierele pachetului de instalare pot fi selectate de pe python.org.

Două moduri de a interacționa

Unul dintre motivele pentru care programarea Python este atât de ușoară este că vine cu instrumente care vă ajută să dezvoltați, să scrieți și să depanați programe.

În modul interactiv, comenzile sunt introduse pe rând, aproape la fel ca sistem de operare(shell) acceptă comenzi de la Linie de comanda. De asemenea, puteți crea programe scurte, cu mai multe linii sau puteți importa cod din fișiere text sau module Python încorporate. Pentru începători, va fi util să știe că modul interactiv include un sistem extins de ajutor. Acesta este un mod convenabil de a explora posibilitățile unui limbaj de programare.

Mediul de dezvoltare IDLE include un mod interactiv și instrumente pentru scrierea și rularea programelor, precum și un sistem de urmărire a numelor. Mediul este scris în Python și demonstrează caracteristicile extinse ale limbajului.

modul interactiv

Aici puteți face aproape tot ce se poate face în program, chiar și să scrieți cod pe mai multe linii. Acest mod poate servi:

  • cutie cu nisip pentru experimente sigure;
  • un mediu care vă permite să învățați programarea în Python;
  • instrument pentru găsirea și corectarea erorilor.

Modul interactiv poate fi folosit ca calculator, manipula text și atribuie valori variabilelor. De asemenea, puteți importa module, funcții sau părți de program pentru a le testa. Ajută să experimentați cu obiecte Python fără a scrie programe lungi și a depana programe, importând părți din ele pe rând.

Lucrează în modul interactiv

Când Python este lansat, o fereastră de terminal va afișa informații despre versiunea curentă a programului, data de lansare a acestuia, câteva indicii despre cum să procedați și mesajul >>>.

Pentru a lucra în modul interactiv, introduceți o comandă sau o expresie și apăsați tasta Enter.

Python interpretează intrarea și răspunde dacă ceea ce tastați necesită un răspuns sau dacă interpretul nu îl înțelege.

Următoarea comandă va tipări un șir. Deoarece locația de imprimare nu este specificată, rezultatul apare pe ecran.

  • >>> printează „Bună lume!”
  • Salut Lume!

Această singură linie este întregul program! În modul interactiv, Python procesează fiecare linie de cod introdus după ce tasta Enter este apăsată, iar rezultatul apare mai jos.

Vizualizarea informațiilor despre un obiect

În modul interactiv, există două moduri de a vizualiza informații despre un obiect:

  • introduceți obiectul (sau numele acestuia) și apăsați tasta Enter;
  • tastați comanda de imprimare și obiectul (sau numele acestuia) și apăsați Enter.

Rezultatul depinde de obiect.

Când utilizați unele tipuri de date (numere întregi și liste, de exemplu), aceste două metode dau același rezultat:

  • >>> x=
  • >>> x
  • >>> imprima x

Pentru șiruri, rezultatul tastării „nume tipărit” este ușor diferit de rezultatul tastării unui nume. În primul caz, valoarea este cuprinsă între ghilimele, în timp ce în al doilea nu este:

  • >>> x = "MyString"
  • >>> x
  • „Corul meu”
  • >>> imprima x
  • MyString

Când un nume se referă la un bloc de cod (cum ar fi o funcție, un modul sau o instanță de clasă), introducerea numelui va oferi informații despre tipul de date, numele și locația de stocare.

Următorul exemplu creează o clasă numită Message și afișează informații despre

  • >>> mesaj de clasa:
  • ... trece
  • >>> mesaj
  • >>> tipăriți mesajul
  • __principal__. mesaj

Siruri de caractere

În Python, șirurile sunt secvențe de caractere. Un literal șir este creat prin includerea caracterelor în ghilimele simple (""), duble ("") sau triple (""" sau ""). Următorul exemplu atribuie o valoare variabilei x:

  • >>> x = "MyString"

Șirul Python are mai multe capacități încorporate. Una dintre ele este capacitatea de a returna o copie a lui însuși, cu toate aceste caracteristici cunoscute sub numele de metode. Pentru a apela o metodă pe un obiect, trebuie să utilizați sintaxa punctului. Adică, după introducerea numelui variabilei, care în acest caz este o referință la obiectul șir, trebuie să puneți operatorul punct (.), apoi numele metodei, urmat de paranteze de deschidere și închidere:

  • >>> x.lower()
  • "mystring"

Puteți obține o parte dintr-un șir folosind operatorul de indexare s[i]. Indexarea începe de la zero, deci s returnează primul caracter din șir, s returnează al doilea și așa mai departe:

  • >>> x
  • >>> x

Metodele cu șiruri funcționează cu șiruri obișnuite, precum și cu șiruri „Unicode”. Ei fac următoarele:

  • schimbarea majusculei (majuscule, majuscule, mai mici, majuscule, titlu);
  • număra (număra);
  • modificare codificare (codificare, decodare);
  • caută și înlocuiește (găsește, înlocuiește, rgăsește, indexează, indexează, traduce);
  • verificați condițiile (startswith, endswith, isalnum, isalpha, isdigit, islower, isspace, istitle, isupper);
  • unire și împărțire (join, partition, rpartition, split, splitlines);
  • format (centru, ljust, lstrip, rstring, rjust, strip, zfill, expandtabs).

Python: Liste

În timp ce șirurile Python sunt limitate de caractere, listele nu sunt. Sunt secvențe ordonate de obiecte arbitrare, inclusiv alte liste. În plus, puteți adăuga, elimina și înlocui elementele acestora. O serie de obiecte separate prin virgule în interior este Ce este, prezentată mai jos - iată exemple de date și operațiuni cu acestea:

  • >>> baze = ["A", "C", "G", "T"]
  • >>>baze
  • ["A", "C", "G", "T"]
  • >>>bases.append("U")
  • >>>baze
  • ["A", "C", "G", "T", "U"]
  • >>> baze.reverse()
  • >>>baze
  • ["U", "T", "G", "C", "A"]
  • >>>baze
  • >>>baze
  • >>>bases.remove("U")
  • >>>baze
  • ["T", "G", "C", "A"]
  • >>>bases.sort()
  • >>>baze
  • ["A", "C", "G", "T"]

În acest exemplu, a fost creată o listă de personaje individuale. Apoi a fost adăugat un element la sfârșit, ordinea elementelor a fost inversată, elementele au fost extrase după poziția lor de index, elementul cu valoarea „U” a fost eliminat, iar elementele au fost sortate. Eliminarea unui element dintr-o listă ilustrează o situație în care metoda remove() trebuie să ofere informații suplimentare, și anume valoarea care trebuie eliminată.

Pe lângă metode precum remove(), Python are o altă caracteristică similară numită funcție. Singura diferență dintre o funcție și o metodă este că prima nu este asociată cu un anumit obiect.

Python: funcții

Funcțiile efectuează operații pe una sau mai multe valori și returnează un rezultat. Un număr mare dintre ele sunt încorporate în Python. Exemple de funcții încorporate:

  • len() - returnează numărul de elemente din secvență;
  • dir() - returnează o listă de șiruri de caractere reprezentând atributele obiectului;
  • list() - returnează noua lista, inițializat dintr-o altă secvență.
  • >>> ajutor (rotund)
  • Ajutor pentru funcția încorporată runda:
  • rundă(...)
  • rotund(număr[, ncifre]) -> număr în virgulă mobilă

De asemenea, este posibil să vă definiți propriile funcții.

Funcții definite de utilizator

Procesul de creare a propriei funcții Python este următorul. Prima linie începe cu cuvântul cheie def, urmat de numele funcției și argumentele (valori de intrare așteptate) cuprinse între paranteze și se termină cu două puncte. Comenzile ulterioare alcătuiesc corpul funcției și trebuie să fie indentate. Dacă un comentariu apare la începutul corpului unei funcții, acesta devine parte a documentației sale. Ultima linie a funcției returnează rezultatul:

  • >>> def transcrie(dna):
  • ... """Returnți șirul de ADN ca șir de rna."""
  • ... return dna.replace("T", "U")
  • >>> transcrie ("CCGGAAGGCTTACTTAG")
  • "CCGGAAGAGCUUACUUAG"

În acest exemplu, a fost creată o funcție numită transcribe care așteaptă un șir reprezentând o secvență ADN. Metoda replace() returnează o copie a șirului original, înlocuind toate aparițiile unui caracter cu altul. Trei linii de cod au făcut posibilă transcrierea ADN-ului în ARN. arata asa:

  • >>> def revers(e):
  • ... """Return șirul secvenței în ordine inversă."""
  • ...litere = liste(e)
  • ...litere.reverse()
  • ... returnează „”. join(litere)
  • >>> invers ("CCGGAAGGCTTACTTAG")
  • „GATTCATTCGAGAAGGCC”

Funcția inversă preia un șir, creează o listă pe baza acestuia și îi inversează ordinea. Acum trebuie să facem transformarea inversă. Obiectul are o metodă join() care concatenează o listă prin separarea fiecăruia dintre elementele sale cu o valoare șir. Deoarece nu este nevoie de delimitator, metoda este utilizată pe șirul gol reprezentat prin două ghilimele ("" sau "").

Dicționare

Și ce este un dicționar Python? Are aceleași avantaje ca un dicționar de hârtie obișnuit. Vă permite să găsiți rapid valoarea dorită (definiția) asociată cu cheia (cuvântul). Dicționarele sunt cuprinse între acolade și conțin o secvență de perechi cheie-valoare, separate prin virgulă. Dicționarele nu sunt ordonate. În schimb, valorile dicționarului sunt accesate prin cheia lor, nu prin poziția lor.

  • >>> complement de bază = ("A": "T", "C": "G", "T": "A", "G": "C")
  • >>>basecomplement.keys()
  • ["A", "C", "T", "G"]
  • >>> basecomplement.values()
  • ["T", "G", "A", "C"]
  • >>>complement de bază[„A”]

Clase

Pentru a vă crea propriile obiecte, trebuie să definiți un tip de șablon numit clasă. În Python, acest lucru se face cu instrucțiunea de clasă urmată de nume și două puncte. Corpul definiției unei clase conține proprietăți și metode care vor fi disponibile pentru toate instanțele de obiect bazate pe acea clasă.

Avantaje

Majoritatea limbajelor de programare oferă caracteristici de confort, dar niciuna dintre ele nu are combinația de confort și putere pe care o oferă Python. Care sunt aceste beneficii? Aici sunt câțiva dintre ei:

  • Limbajul poate fi încorporat în alte aplicații și folosit pentru a crea macrocomenzi. De exemplu, în Paint Shop Pro 8 și versiuni ulterioare, este limbajul de scripting.
  • Python este liber de utilizat și distribuit, comercial sau nu.
  • Limbajul are capabilități puternice de procesare a textului și de căutare, care este utilizat în aplicații care funcționează cu o cantitate mare de informații textuale.
  • Pe el, puteți crea aplicații mari fără a fi nevoie să verificați programele care rulează.
  • Python acceptă testarea și depanarea modulelor individuale și a programelor întregi.

Ce programe sunt scrise în Python?

Aplicație software pentru oameni normali

Să trecem mai întâi prin programele folosite de oamenii obișnuiți care nu sunt specialiști în domeniul tehnologiei informației.

bittorrent

Toate versiunile până la 6 ale acestui client torrent au fost scrise în Python. Versiunea 6 a fost rescrisă în C++.

Centrul de software Ubuntu

Citat din Wikipedia:
Centru aplicații Ubuntu (Engleză) Centrul de software Ubuntu) este un software gratuit pentru găsirea, instalarea și eliminarea pachetelor pe un sistem Ubuntu Linux. în ultimele versiuni puteți cumpăra reviste despre Linux și Ubuntu, puteți cumpăra și jocuri și software plătite. Aplicația a fost dezvoltată în Python + Vala folosind biblioteci GTK + și este un shell grafic pentru Advanced Packaging Tool.

Blender

Citat din Wikipedia:
Blender- un pachet profesional gratuit pentru crearea de grafică tridimensională pe computer, inclusiv instrumente pentru modelare, animație, randare, post-procesare video și crearea de jocuri interactive. În prezent, este cel mai popular printre editorii 3D gratuiti datorită dezvoltării rapide și stabile, care este facilitată de o echipă de dezvoltare profesională.

Python este folosit ca mijloc de creare de instrumente și prototipuri, sisteme logice în jocuri, ca mijloc de import/export de fișiere (de exemplu, COLLADA), automatizarea sarcinilor.

Iată câteva pagini de documentare:

GIMP

Citat din Wikipedia:
Python este folosit pentru a scrie module suplimentare, de exemplu, filtre.
Iată câteva pagini care aprofundează subiectul:

Jocuri

Civilizația IV

Cea mai mare parte a jocului este scrisă în Python ().

Câmpul de luptă 2

Pe Internet există multe tutoriale și rețete simple pentru schimbarea diferitelor obiecte și comportamentul acestora.

Lumea tancurilor

Citat din articolul „GUI în World of Tanks”:
Proiectul folosește Python ca limbaj de scripting. Toată frumusețea pe care am făcut-o în Flash trebuie să fie conectată în joc, să fie umplută cu date, procesată și tradusă din inputul utilizatorului în acțiuni reale în joc. Toate acestea se fac doar în Python.
Mai mult lista plina jocurile care folosesc Python pot fi găsite pe Wikipedia și în documentația Python.

Ce companii folosesc Python?

Lista companiilor care folosesc Python este lungă. Printre acestea se numără Google, Facebook, Yahoo , NASA , Red Hat , IBM , Instagram , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

Yandex

Aici, vă rog, raportul „Python în nucleul Yandex.Disk”. Serghei Ivașcenko (vorbitor):
Voi vorbi despre cum folosim Python în Yandex.Disk, ce biblioteci și cadre folosim, ce sarcini rezolvăm și ce probleme întâmpinăm. Voi aborda, de asemenea, subiectul înregistrării și procesării operațiilor asincrone.
Într-unul dintre videoclipurile de pe canalul Yandex, angajații au vorbit despre limbile lor preferate.

Și, de asemenea, pe blogul companiei Yandex există o intrare „Ce limbaje de programare scriu în Yandex” din 19 martie 2014. Deci, 13% dintre angajații Yandex își scriu cea mai mare parte a timpului de lucru în Python.

Mail.ru

Angajații Mail.ru folosesc și Python. Blogul oficial Mail.ru de pe Habré are mai multe articole despre Python:

Google

Google a folosit activ Python de la începuturile sale. Există zvonuri că majoritatea YouTube și Google Drive sunt scrise în Python. Google a dezvoltat întreaga platformă cloud Google App Engine, astfel încât dezvoltatorii să poată rula cod Python google cloud. Mulți dezvoltatori de limbi străine au lucrat și lucrează în continuare pentru Google.

caseta de plasare

Serviciul este dezvoltat în Python. Nu este o coincidență că autorul limbajului Python, Guido van Rossum, lucrează la DropBox.

Alte companii

Organizațiile care folosesc Python

În ce domenii este folosit Python?

dezvoltare web

În acest domeniu, Python este poate cel mai folosit. Cadrul web Django continuă să câștige avânt, sporind armata fanilor săi. Mulți programatori începători chiar cred că Python nu este folosit în altă parte. Dar multe alte cadre web sunt scrise în Python: Pylons , TurboGears , CherryPy , Flask , Pyramid și altele. O listă mai completă poate fi găsită.
Există și un CMS bazat pe Django, se numește DjangoCMS.
Foarte des, analizatorii site-ului scriu și în Python. De obicei folosesc Requests , aiohttp , BeautifulSoup , html5lib . Există, de asemenea, instrumente de nivel superior pentru web scraping: Scrapy, Grab.

Administrarea sistemului

Python este un limbaj excelent pentru automatizarea muncii administrator de sistem. Este instalat implicit pe toate serverele Linux. Este simplu și de înțeles. Codul Python este ușor de citit. Unii oameni iubesc Perl, și eu îl iubesc lucru convenabil cu expresii regulate, dar urăsc Perl pentru sintaxa lui. Bash este util pentru scripturi relativ mici până la medii, dar Python este mai puternic și vă permite să scrieți mult mai puțin cod în unele cazuri.
Singurul pachet pe care îl cunosc este Fabric. Poate mai este ceva, scrie-mi în comentarii dacă știi.

Informații suplimentare

Python pentru administratorii de sistem (IBM developerWorks)
documentația țesăturii. Administrarea sistemelor.

Sisteme integrate

Foarte des, Python este folosit pentru programarea sistemelor încorporate. Cel mai faimos proiect care folosește Python este Raspberry Pi. Dar nu este singurul:
Python încorporat
Raspberry Pi
Instrumente Python încorporate
Sistemul Owl Embedded Python

Dezvoltare de aplicații software, inclusiv jocuri

Python este adesea folosit ca limbaj auxiliar în dezvoltarea de software de aplicație. Am dat deja exemple mai sus, nu mă voi repeta.

Cercetare științifică

Fizicienii și matematicienii sunt foarte pasionați de Python pentru simplitatea sa. În plus, există un număr mare de biblioteci pentru Python care fac viața mai ușoară unui om de știință. De exemplu:
  1. scipy este o bibliotecă open source de instrumente științifice de înaltă calitate pentru limbajul de programare Python. SciPy conține module pentru optimizare, integrare, funcții speciale, procesare a semnalului, procesare a imaginilor, algoritmi genetici, rezolvare de ecuații diferențiale obișnuite și alte sarcini efectuate în mod obișnuit în știință și inginerie.
  2. matplotlib- o bibliotecă în limbajul de programare Python pentru vizualizarea datelor cu grafică bidimensională (2D) (sunt suportate și grafica 3D). Imaginile rezultate pot fi folosite ca ilustrații în publicații.
  3. numpy este o extensie a limbajului Python care adaugă suport pentru matrice și matrice multidimensionale mari, împreună cu o bibliotecă mare de funcții matematice de nivel înalt pentru a opera pe aceste matrice.
O listă mai completă a bibliotecilor de calcul științific Python poate fi găsită pe Wikipedia.

Educaţie

Foarte des, Python este recomandat ca prim limbaj de programare.
Unele școli rusești au o experiență de succes în a preda elevilor programarea în Python.
De altfel, Guido van Rossum s-a inspirat din limbajul ABC când a scris Python. Și limbajul ABC a fost destinat învățării și prototipării.

Critica limbajului Python

Python este unul dintre cele mai lente limbaje de programare

Pe Internet, puteți găsi multe teste de viteză diferite ale programelor scrise limbi diferite programare. Python se află de obicei la sfârșitul listelor.
De obicei, prin Python se înțelege CPython, implementarea de referință a limbajului. Există și alte implementări ale limbajului Python, cum ar fi PyPy. PyPy este mai rapid decât CPython și multe alte limbaje de scripting, foarte aproape ca viteză de Java. Dar există o problemă - PyPy nu implementează pe deplin limbajul Python, din această cauză, multe programe Python nu funcționează cu el.
Mulți programatori scriu inserții în C/C++ pentru a accelera munca în blocajele. Python nu este conceput pentru sarcini de calcul, pentru sarcini care necesită multă memorie (legată de memorie) și altele asemenea. Trebuie să poți alege instrumentele potrivite pentru sarcinile tale. Guido van Rossum vorbește despre asta într-un interviu.

GIL împiedică rularea mai multor fire în același timp

Blocarea globală a interpretului împiedică executarea mai multor fire Python în același timp. Acestea sunt caracteristici ale CPython. Dar este un dezavantaj? Trebuie să înțelegeți că totul depinde de sarcină. Dacă sarcina dvs. depinde de viteza de intrare/ieșire (sarcină legată de IO), atunci este mai eficient să utilizați mai multe procese care vor funcționa în modul asincron cu resurse externe. Și firele cu memorie partajată sunt bune pentru sarcini de calcul (legate la CPU). Dar chiar dacă trebuie să lucrați cu fire, puteți dezactiva GIL pentru un timp, așa cum se face în pachetul de matematică NumPy.

Nu există instrumente bune de distribuție

Din păcate, codul Python, care are multe dependențe de bibliotecile de sistem, este dificil de portat către alte sisteme. Această problemă este rezolvată cu ajutorul virtualenv. dar acest instrument este foarte criticat de administratorii de sistem.

Informații suplimentare

Povești de succes Python
Ai folosit Python pentru a scrie CE?
Pentru ce este folosit Python?
Mai multă dovadă că „este lumea lui Python” și că „doar trăim în ea”.
SALARIUL MEDIU PENTRU LOCURI DE LUCRARE NECESARĂ PYTHON
Lista software-ului Python