Introducere în Python. Limbajul de programare Python

Acest material este destinat celor care sunt deja familiarizați cu programarea și doresc să stăpânească limbajul de programare Python. Este conceput pentru a vă arăta în 10 minute caracteristicile limbajului Python, caracteristicile de sintaxă și principiile de bază ale lucrului cu Python folosind exemple. Nu există „apă” aici - informații care nu sunt direct legate de limbajul de programare. Sa incepem!

Limbajul de programare Python se distinge prin tastarea puternică (Tastarea puternică se distinge prin faptul că limbajul nu permite amestecarea diferitelor tipuri în expresii și nu realizează conversii implicite automate, de exemplu, nu se poate scădea un set dintr-un șir), dinamic se folosește tastarea - toate tipurile sunt descoperite în timpul execuției programului.

Declararea variabilelor este opțională, numele sunt sensibile la majuscule și minuscule (var și VAR sunt două variabile diferite).

Python este un limbaj orientat pe obiecte; totul în limbaj este un obiect.

Obține ajutor

Ajutorul (ajutorul) în Python este întotdeauna disponibil chiar în interpret. Dacă vrei să știi cum funcționează un obiect, apelează ajutor( ). O altă instrucțiune utilă este dir() , care arată toate metodele unui obiect și proprietățile obiectelor .__doc__ care vă va arăta docstring:

>>> help(5) Ajutor pe obiect int: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number Returnează valoarea absolută a argumentului."

Sintaxa Python

Python nu are constructe pentru blocurile de sfârșit (cum ar fi declarațiile de clasă sau funcție, de exemplu) - blocurile sunt definite folosind indentarea. Măriți indentarea la începutul blocului, micșorați-o la sfârșitul blocului. Declarațiile care necesită indentare se termină cu două puncte (:). Dacă nu aveți încă cod după instrucțiunea de început de bloc, introduceți o instrucțiune de trecere pentru a trece verificarea sintaxei.

În timp ce rangelist == 1: trece

Comentariile pe o singură linie încep cu un caracter hash (#), în timp ce comentariile pe mai multe rânduri folosesc ("") la începutul și la sfârșitul comentariului.

Valorile sunt atribuite folosind semnul egal (“=”) (obiectele sunt de fapt denumite în proces).

Testul de diferență se efectuează cu două simboluri egale ("==").

Puteți crește o valoare folosind operatorul += și o puteți micșora cu -= specificând o variabilă în partea stângă și valoarea cu care se va produce creșterea/scăderea în dreapta. Acest lucru funcționează cu multe tipuri de date în Python, inclusiv cu șiruri de caractere.

Puteți atribui o valoare mai multor variabile pe aceeași linie. Exemple:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Acesta este un comentariu pe mai multe linii. Următoarele rânduri concatenează cele două șiruri.""" >>> mystring = "Bună ziua" >>> mystring += " lume." >>> print mystring Bună lume. # Aceasta schimbă variabilele într-o singură linie(!). # Nu încalcă tastarea puternică, deoarece valorile nu sunt # de fapt atribuite, dar obiectele noi sunt legate de # nume vechi. >>> myvar, mystring = mystring, myvar

Tipuri de date în Python

Python oferă tipuri de date, cum ar fi liste, tupluri și dicționare. Seturile sunt, de asemenea, disponibile, folosind modulul seturi în versiunile anterioare Python 2.5 și încorporate în limbaj în versiunile ulterioare.

Listele sunt similare cu tablourile unidimensionale. Este posibil să aveți o listă formată din alte liste.

Dicționarele sunt tablouri asociative în care datele sunt accesate prin cheie.

Tuplurile sunt matrice unidimensionale imuabile.

„Matrice” în Python poate fi de orice tip, ceea ce înseamnă că puteți combina numere, șiruri și alte tipuri de date în liste/dicționare/tupluri.

Indicele primului element este 0. O valoare a indicelui negativ începe să conteze de la ultimul până la primul, [-1] va indica ultimul element.

Variabilele pot indica funcții.

>>> sample = , ("a", "tuple")] >>> mylist = ["List item 1", 2, 3.14] >>> mylist = "List item 1 din nou" # Vom schimba elementul . >>> mylist[-1] = 3.21 # Aici ne referim la ultimul element. >>> mydict = ("Cheia 1": "Valoare 1", 2: 3, "pi": 3.14) >>> mydict["pi"] = 3.15 # Așa schimbați valorile de dicționar. >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3

Puteți obține o porțiune dintr-o matrice (listă sau tuplu) folosind două puncte (:). Lăsând golă valoarea indexului de pornire va indica începerea de la prima valoare; lăsând golă valoarea indexului final va indica ultimul element al matricei. Indicii negativi sunt numărați înapoi de la sfârșitul matricei (-1 va indica ultimul element).

Uită-te la exemple:

>>> mylist = ["List item 1", 2, 3.14] >>> print mylist[:] ["List item 1", 2, 3.1400000000000001] >>> print mylist ["List item 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Adăugând un al treilea parametru, „step” va avea pasul Python în # N trepte de articole, mai degrabă decât 1. # De ex. , aceasta va returna primul articol, apoi va merge la al treilea și # va returna acel element (deci, articolele 0 și 2 din indexarea 0). >>> print mylist[::2] ["Elementul din listă 1", 3.14]

Șiruri în Python

Un apostrof (‘) sau ghilimele duble (ghilimele duble - „) pot fi folosite pentru a desemna un șir. Acest lucru vă permite să aveți ghilimele într-un șir indicat prin apostrofe (de exemplu, „El a spus „bună ziua.”” este un șir valid).

Șirurile cu mai multe linii sunt notate prin utilizarea unui apostrof triplu sau a ghilimelelor (""). Python acceptă unicode din cutie. Cu toate acestea, a doua versiune de Python folosește caracterul (u) pentru a indica un șir care conține unicode: u"Acesta este un șir unicode." Python3 toate șirurile conțin Unicode. Dacă în Python3 aveți nevoie de o secvență de octeți, care era în esență un șir în versiunile anterioare, se folosește simbolul (b): b"Acesta este un șir de octeți".

Pentru a înlocui valorile parametrilor într-un șir, utilizați operatorul (%) și un tuplu. Fiecare %s este înlocuit cu un element din tuplu, de la stânga la dreapta. De asemenea, puteți utiliza un dicționar pentru a înlocui parametrii denumiți:

>>>printează „Nume: %s\ Număr: %s\ String: %s” % (myclass.name, 3, 3 * "-") Nume: Poromenos Număr: 3 String: --- stringString = """ Acesta este un șir cu mai multe linii.""" # AVERTISMENT: Atenție la s-urile finale din „%(key)s”. >>> print "Acest %(verb)s a %(substantiv)s." % ("substantiv": "test", "verb": "este") Acesta este un test.

Instrucțiuni de control al fluxului - dacă, pentru, timp

Instrucțiunile If, ​​for și while sunt folosite pentru a controla ordinea în care este executat un program. Nu există niciun comutator sau caz în Python; în schimb, se folosește if. For este folosit pentru a itera elementele unei liste (sau tuplu). Pentru a obține o succesiune de numere, utilizați range( ). Pentru a întrerupe execuția unei bucle, se utilizează break.

Sintaxa pentru acest construct este următoarea:

Rangelist = range(10) >>> print rangelist pentru numărul din rangelist: # Verificați dacă numărul este unul dintre # numerele din tuplu. dacă numărul din (3, 4, 7, 9): # „Break” termină un pentru fără # să execute clauza „else”. break else: # „Continuare” începe următoarea iterație # a buclei. Este destul de inutil aici, # deoarece este ultima declarație a buclei. continue else: # Clauza „else” este opțională și # este executată numai dacă bucla nu s-a „întrerupt”. pass # Nu face nimic dacă rangelist == 2: print „Al doilea element (listele sunt bazate pe 0) este 2 " elif rangelist == 3: print "Al doilea element (listele sunt bazate pe 0) este 3" else: print "Nu știu" while rangelist == 1: trece

Funcții în Python

Funcțiile sunt declarate folosind cuvântul cheie „def”. Argumentele opționale apar în declarația funcției după cele solicitate și li se atribuie o valoare implicită. Când apelați o funcție, puteți transmite argumente specificând numele și valoarea acestora, omițând în același timp unele dintre argumentele opționale sau aranjandu-le într-o ordine diferită de cea declarată în funcție.

Funcțiile pot returna un tuplu, iar folosind unboxing tuple puteți returna mai multe valori.

Funcțiile lambda sunt funcții speciale care procesează un singur argument.

Parametrii sunt transmisi prin referință. Adăugând elemente la lista trecută veți primi o listă actualizată în afara funcției. În acest caz, alocarea unei noi valori parametrilor din interiorul unei funcții va rămâne o acțiune locală. Deoarece trecerea transferă doar locația de memorie, alocarea unui nou obiect unui parametru ca variabilă va determina crearea unui nou obiect.

Exemple de cod:

# La fel ca def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int și a_string sunt opționale, au valori implicite # dacă nu este trecută una ( 2 și, respectiv, „Un șir implicit”). def passing_example(a_list, an_int=2, a_string="Un șir implicit"): a_list.append("Un articol nou") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > tipăriți exemplul de trecere(my_list, my_int) (, 4, „Un șir implicit”) >>> my_list >>> my_int 10

Clasele Python

Python acceptă o formă limitată de moștenire multiplă în clase.

Variabilele și metodele private pot fi declarate (prin convenție, acest lucru nu este verificat de interpret) folosind două litere de subliniere la început și nu mai mult de una la sfârșitul numelui (de exemplu: „__spam”).

De asemenea, putem atribui nume arbitrare instanțelor de clasă. Vezi exemple:

Clasa MyClass(obiect): comun = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Aceasta este instanțiarea clasei >>> classinstance = MyClass() >> > classeinstance.myfunction(1, 2) 3 # Această variabilă este partajată de toate clasele. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Observați cum folosim numele clasei # în loc de instanță. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Aceasta nu va actualiza variabila de pe clasă, # în schimb va lega un obiect nou la vechiul # nume de variabilă. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Acest lucru nu sa schimbat, deoarece „common” este # acum o variabilă de instanță. >>> classinstance.common 10 >>> classinstance2.common 50 # Această clasă moștenește de la MyClass. Exemplul # clasa de mai sus moștenește de la „obiect”, ceea ce o face ceea ce se numește „clasă de stil nou”. # Moștenirea multiplă este declarată ca: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Argumentul „self” este transmis automat # și se referă la instanța clasei, așa că puteți seta # variabile de instanță ca mai sus, dar din interiorul clasei. def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("hello") hello >>> classinstance.myfunction(1, 2) 3 # Această clasă nu are un membru .test, dar # putem adăuga unul la instanță oricum. Rețineți # că acesta va fi doar un membru al clasei. >>> classinstance.test = 10 >>> classinstance.test 10

Excepții în Python

Excepțiile în Python sunt gestionate în blocuri try-except:

Def some_function(): try: # Împărțirea cu zero ridică o excepție 10 / 0, cu excepția ZeroDivisionError: print "Hopa, invalid." else: # Excepția nu a apărut, suntem buni. trece în sfârșit: # Acesta este executat după ce blocul de cod este rulat # și toate excepțiile au fost gestionate, chiar # dacă o nouă excepție este ridicată în timpul manipulării. print „Am terminat cu asta.” >>> some_function() Hopa, invalid. Am terminat cu asta.

Importul modulelor în Python

Bibliotecile externe sunt folosite după import folosind cuvântul cheie import. De asemenea, puteți utiliza funcții personalizate de la import la import.

Import aleator din timp import ceas randomint = random.randint(1, 100) >>> print randomint 64

Lucrul cu fișiere în Python

Python are un număr mare de biblioteci pentru lucrul cu fișiere. De exemplu, serializarea (conversia datelor în șiruri de caractere cu biblioteca pickle):

Import pickle mylist = ["Acesta", "este", 4, 13327] # Deschideți fișierul C:\\binary.dat pentru scriere. Litera r dinaintea șirului numelui de fișier # este folosită pentru a preveni scăparea barei oblice inverse. fișierul meu = deschide(r"C:\\binary.dat", "w") pickle.dump(lista mea, fișierul meu) fișierul meu.close() fișierul meu = deschide(r"C:\\text.txt", "w" ) myfile.write("Acesta este un exemplu de șir") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Acesta este un exemplu de șir" myfile .close() # Deschideți fișierul pentru citire. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> print loadedlist ["Acesta", "este", 4, 13327]

Diverse

  • Condițiile pot rămâne împreună, de exemplu 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Puteți folosi del pentru a elimina variabile sau elemente din matrice.
  • Listele oferă capabilități foarte puternice de manipulare a datelor. Puteți construi o expresie folosind for urmat de if sau for instrucțiuni:
>>> lst1 = >>> lst2 = >>> print >>> print # Verificați dacă o condiție este adevărată pentru orice element. # „orice” returnează adevărat dacă orice element din listă este adevărat. >>> any()) True # Acest lucru se datorează faptului că 4 % 3 = 1, iar 1 este adevărat, deci orice() # returnează True. # Verificați câte elemente este adevărată o condiție. >>> sum(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Variabilele globale sunt declarate în afara funcțiilor și pot fi citite fără declarații speciale în interior, dar dacă doriți să le scrieți, trebuie să declarați de la începutul funcției folosind cuvântul cheie special „global”, altfel Python va atribui noua valoare lui variabila locala:
number = 5 def myfunc(): # Aceasta va imprima 5. print number def anotherfunc(): # Aceasta ridică o excepție deoarece variabila nu a fost # legată înainte de imprimare. Python știe că un obiect # va fi legat de el mai târziu și creează un nou # obiect local, în loc să îl acceseze pe cel global. print number number = 3 def yetanotherfunc(): global number # Acest lucru va schimba corect global. număr = 3

Cum să înveți limbajul de programare Python

Acest material nu este destinat să fie un ghid cuprinzător pentru Python. Limbajul de programare Python are un număr mare de biblioteci și diverse funcționalități cu care vă veți familiariza pe măsură ce continuați să lucrați cu limbajul și să studiați surse suplimentare.

Dacă informațiile prezentate nu sunt suficiente pentru dvs., priviți materialul extins care descrie limbajul de programare Python - oferă informații despre limbaj mai detaliat.

Printre alte materiale, recomand Learn Python The Hard Way. Și, desigur, Tutorialul Python 2 și Tutorialul Python 3.

Mulțumiri lui Stavros Korokithakis pentru tutorialul său excelent „Învățați Python în 10 minute”.

Dacă doriți să îmbunătățiți ceva în acest material, vă rugăm să scrieți în comentarii.

Programul este un set de algoritmi care asigură efectuarea acțiunilor necesare. În mod convențional, o persoană obișnuită poate fi programată în același mod scriind comenzi precise, astfel încât, de exemplu, să pregătească ceaiul. Dacă ultima opțiune folosește vorbirea naturală (rusă, ucraineană, engleză, coreeană etc.), atunci computerul va avea nevoie de un limbaj de programare special. Python este unul dintre ele. Mediul de programare va traduce ulterior comenzile în și scopul uman 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 lui Python 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ă ce prima versiune oficială a intrat online, 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 său. El este recunoscut de mulți specialiști de mare succes drept unul dintre cei mai buni.

Caracteristicile Python

Limbajul de programare Python va fi un profesor excelent pentru începători. 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 sintactice au fost create folosind programarea orientată pe obiecte. Python nu face excepție. De ce anume s-a născut? Va fi mai ușor de învățat pentru începători și îi va ajuta pe angajații deja calificați să-și amintească unele elemente.

Sintaxa limbajului

După cum am menționat deja, codul este destul de ușor și ușor de citit. Python are comenzi secvențiale care sunt precise în execuție. În principiu, operatorii folosiți nu vor părea dificili nici măcar începătorilor. 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, ar trebui să 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 pentru blocuri goale.
  • Comenzile ciclice sunt while și for.
  • Funcția, metoda și generatorul sunt definite datorită def.

Pe lângă cuvintele individuale, limbajul de programare Python vă permite să utilizați expresii ca operatori. Folosind lanțuri de șiruri, puteți reduce numărul de comenzi și paranteze separate. Se folosesc și așa-numitele 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 programului

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

Limbajul de programare Python (pentru începători, așa cum a devenit deja clar, este ideal) în sistemul de operare Linux vă permite să lucrați direct în consola însăși. Ar trebui să scrieți numele codului Python în limba engleză pe linia de comandă. Nu va fi dificil să creezi primul tău program. În primul rând, merită luat în considerare faptul că aici interpretul poate fi folosit ca calculator. Deoarece specialiștii tineri și începători nu sunt adesea confortabili cu sintaxa, puteți scrie algoritmul astfel:

După fiecare rând trebuie să puneți „Enter”. Răspunsul va fi afișat imediat după ce faceți clic pe el.

Date utilizate de Python

Datele pe care computerele (și limbajele de programare) le folosesc sunt 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 destul de masive datorită părții fracționale. Pentru a fi mai ușor pentru interpret să lucreze cu ei și pentru ca acesta să înțeleagă cu ce are de-a face, ar trebui specificat 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. Vorbim 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, tipul trebuie setat la virgulă mobilă. De regulă, este utilizat atunci când se utilizează numere cu un punct diferit. Trebuie amintit că atunci când scrieți un program, trebuie să rămâneți la 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 un tip de șir. Adesea, cuvintele sau expresiile sunt incluse într-un singur sau

Dezavantaje și avantaje

În ultimele decenii, oamenii au fost mai interesați să petreacă mai mult timp în stăpânirea datelor și mai puțin timp pentru a le procesa de computere. Limbajul despre care există doar lucruri pozitive este cel mai înalt cod.

Python nu are practic niciun dezavantaj. Singurul dezavantaj serios este încetineala execuției algoritmului. Da, dacă îl compari cu „C” sau „Java”, este, sincer vorbind, o țestoasă. Acest lucru se explică prin faptul că aceasta

Dezvoltatorul s-a asigurat că adaugă cele mai bune lucruri în Python. Prin urmare, atunci când îl utilizați, puteți observa 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.

În prezent, 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 cel creat folosind Python.

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

În zilele noastre, două versiuni ale unui astfel de sistem sintactic precum limbajul Python sunt utilizate pe scară largă. Pentru începători, alegerea dintre ele va fi destul de dificilă. Trebuie remarcat faptul că 3.x este încă în dezvoltare (deși este lansat în masă), în timp ce 2.x este o versiune complet finalizată. Mulți oameni sfătuiesc să folosească 2.7.8, deoarece practic nu întârzie sau se blochează. Nu există modificări radicale în versiunea 3.x, așa că vă puteți transfera codul în mediul de programare cu o actualizare în orice moment. Pentru a descărca programul necesar, trebuie să accesați site-ul web oficial, să selectați sistemul de operare și să așteptați până când descărcarea se termină.

Cu doar câteva decenii în urmă, programatorii păreau un fel de șamani care știau ceva ce era inaccesibil altora. Uneori oamenii au învățat să programeze în genunchi, mâzgălind cod pe o bucată de hârtie, pentru că „concentrația de dispozitive computerizate pe cap de locuitor” era extrem de scăzută. Acum cu greu puteți găsi o persoană care să nu aibă un computer desktop sau laptop acasă. De asemenea, tehnologiile educaționale nu stau pe loc.

Puțină istorie

Limbajul de programare Python a început să fie dezvoltat de Guido van Rossum la sfârșitul anilor optzeci. Guido era la acea vreme angajat al Institutului CWI olandez. A scris această limbă în timpul liber, punând în ea câteva idei despre limbajul ABC, la care a participat la lucrare.

Limba nu a fost numită după reptilă. De fapt, numele a fost inspirat dintr-un spectacol de comedie britanic popular din anii '70 numit Monty Python's Flying Circus, deși Python este încă mult mai des comparat cu un șarpe, așa cum demonstrează sigla de pe site-ul oficial (are două capete de șarpe) .

Intuiția de proiectare a lui Van Rossum nu este singurul motiv pentru care limbajul de programare Python este atât de popular. Învățarea de la zero devine o sarcină plăcută și ușoară, având în vedere prezența unei comunități prietenoase de utilizatori.

Nu cu mult timp în urmă, în 2008, a fost lansată prima versiune a Python 3000 (3.0), care fusese testată de mult timp, unde au fost eliminate multe deficiențe arhitecturale. În același timp, dezvoltatorii au încercat să mențină compatibilitatea cu versiunile anterioare ale limbajului. În ciuda prezenței unei versiuni mai recente, ambele ramuri (2.x și 3.x) sunt acceptate.

Limbajul de programare concis

Python are o serie de avantaje față de alte limbi. Este de înțeles aproape intuitiv și are o sintaxă „transparentă”. Aceasta înseamnă că codul programului în acest limbaj este mult mai ușor de citit, ceea ce reduce timpul nu numai pentru scrierea acestuia, ci și pentru diferite modificări și verificări.

Desigur, un programator „vechea școală” va spune că trebuie neapărat să cunoașteți mai multe limbi, dar puteți chiar să începeți prin a studia codul mașinii. Dar prin finalizarea unui curs de programare în Python, o persoană va primi nu numai cunoștințe specifice, ci și oportunitatea de a-și realiza natura creativă prin crearea de aplicații și programe utile. Poate că în curând programarea va fi la fel de necesară ca și cunoașterea unei limbi străine.

Dificultate

Merită să renunțați la ideea greșită că programarea este dificilă. Nu, programarea este mult mai interesantă decât pare; Alte activități și așa-numita „lipsă de timp” sau lenea pot interfera.

Literatura de bază vă va ajuta să învățați rapid programarea în Python. Cursul de formare ar trebui să înceapă prin a citi două cărți din care puteți aduna elementele de bază. Primul este „Python Programming” de Mark Lutz, iar al doilea este „Python 3 Programming” de Mark Summerfield. Cartea lui Lutz descrie în detaliu, uneori chiar prea mult, toate principiile de bază pe care este construit limbajul. Unii recomandă citirea lui Mark Lutz să nu stăpânească, ci să aprofundeze cunoștințele de bază. Cartea lui Summerfield explică totul mai succint; autorul nu sperie cititorul cu nicio complicație. Există și altă literatură, dar aceste manuale sunt cele mai utile și mai informative.

Curs introductiv

Să ne amintim de școala elementară. De regulă, chiar și un copil ajunge în clasa întâi cu niște cunoștințe minime: unii au fost predați de părinți, alții au mers la zero. De asemenea, este oferită instruire în limbajul de programare Python. Este într-adevăr convenabil și „transparent”, dar fără cunoștințe minime despre principiile de bază ale programelor, învățarea va fi dificilă. Este ca și cum ai învăța partitura fără a auzi muzica. Prin urmare, cei care nu au întâlnit deloc programarea ar trebui să se familiarizeze cu „minimul introductiv”.

Prelegerile CS50 vor fi de ajutor. Acesta este un curs de la Universitatea Harvard dedicat programării în Java Script, dar primele prelegeri explică interacțiunea computerului și a programelor în general într-un mod accesibil și ușor de înțeles. Utilizatorii vorbitori de limbă rusă au acces la înregistrări video ale acestui curs cu traducere, materiale suplimentare, versiuni text ale prelegerilor și teme practice. Videoclipul poate fi găsit aproape oriunde, de exemplu, pe YouTube, dar toate materialele în întregime pot fi găsite pe site-ul Java Script.

În internet

Limbajul de programare Python câștigă popularitate, așa că de mult timp există mai multe portaluri cu o mulțime de materiale de auto-învățare. De exemplu, „Python 3 pentru începători”. Acest site are o mulțime de materiale pentru începători; poate fi folosit ca o foaie de cheat. Există, de asemenea, o cantitate mare de informații despre acest subiect cu acces gratuit pe site-ul Codecademy.

Comunicarea pe forumuri este, de asemenea, importantă. Să studiezi singur este întotdeauna mai greu, așa că nu neglija diferitele comunități.

Cursuri platite

Puteți folosi oricând cursuri plătite, dar acestea costă uneori mulți bani, iar rezultatul poate fi nesatisfăcător. Prin urmare, este bineînțeles recomandabil să alegeți cursuri care oferă o misiune de probă gratuită. De exemplu, există un curs intensiv despre „Noțiunile fundamentale ale programării Python” pe GeekBrains. Cursul este gratuit și se ține la fiecare zece zile. Pentru a vă înregistra, trebuie să vă conectați pe site.

Sfat: Indiferent de cursurile pe care le alegeți, familiarizați-vă mai întâi cu elementele de bază ale limbii pentru a nu pierde timpul cu ceva pe care îl puteți învăța cu ușurință pe cont propriu. Va fi suficient să citești cărțile menționate mai sus.

Desigur, când teoria este stăpânită, vrei să exersezi. Prelegerile lui Nick Parlante trebuie menționate aici. Sunt în engleză, deși, în general, o mulțime de literatură educațională bună este în engleză, iar acest lucru nu ar trebui să fie surprinzător. În prelegerile sale, Nick nu numai că predă limbajul de programare Python, dar oferă și probleme practice excelente.

Utilizare

Limbajul de programare Python a fost folosit pentru a crea multe aplicații pe care mulți oameni le folosesc zilnic. De exemplu, aceasta este a șasea versiune a clientului torrent BitTorrent. Python este folosit și în editorul de grafică raster Gimp. Este folosit pentru a crea module suplimentare, filtre, de exemplu. O mare parte din Civilization IV și Batterfield 2 sunt scrise în această limbă.

Python este folosit de companii precum Google, Facebook, Instagram, Dropbox și Pinterest. De asemenea, funcționează în nucleul aplicației Yandex Disk. Aproximativ 10% dintre angajații companiei scriu în Python, iar mulți programatori îl numesc limba lor preferată.

Cum să începeți

Niciun cod nu poate funcționa „în aer”; limbajul de programare Python respectă și el această regulă. Deși antrenamentul de la zero începe cu teorie, în realitate, s-ar putea spune, începe cu instalarea unui mediu de lucru pe un computer personal. Cum să o facă? Este simplu: trebuie să urmați linkul site-ului oficial Python, să descărcați și să rulați programul de instalare, apoi urmați cu atenție pașii pe care îi sugerează.

Vă rugăm să rețineți că trebuie să descărcați un fișier care este potrivit pentru sistemul de operare instalat pe computer!

Dacă instalarea a avut succes, deschideți consola (de obicei, acest lucru se poate face cu comanda rapidă de la tastatură „ctrl+alt+T”). Acum puteți scrie primul program. De exemplu, introduceți „python3”. Dacă consola afișează un „mesaj de bun venit” unde este indicată versiunea programului (de exemplu, 3.4.0), atunci totul este în ordine, dacă nu, atunci trebuie să instalați a treia versiune de Python cu comanda: „sudo apt -get install python3”.
Cu toate acestea, acest lucru nu este necesar. Puteți scrie cod în orice editor de text convenabil și apoi îl puteți rula prin consolă sau puteți utiliza mediul de dezvoltare IDLE care vine odată cu distribuția.

Lansați IDLE. Pentru a crea un program mic, trebuie să scrieți doar o linie de cod.

print("Bună lume!")

Introduceți acest cod în fereastra IDLE și apăsați Enter. Mediul va răspunde instantaneu cu acțiune - afișați textul necesar pe ecran. Primul program este gata.

Programare Python

Partea 1. Capacități lingvistice și sintaxa de bază

Seria de conținut:

Merită să înveți Python?

Python este unul dintre cele mai populare limbaje de programare moderne. Este potrivit pentru rezolvarea unei varietăți de probleme și oferă aceleași capacități ca și alte limbaje de programare: dinamism, suport OOP și cross-platform. Dezvoltarea Python a început de Guido Van Rossum la mijlocul anilor 1990, astfel încât până acum a fost posibil să scăpăm de bolile standard din „copilărie”, să dezvoltăm în mod semnificativ cele mai bune aspecte ale limbajului și să atragem mulți programatori care folosesc Python pentru a-și implementa proiecte.

Mulți programatori cred că este necesar să învețe doar limbaje de programare „clasice”, cum ar fi Java sau C++, deoarece alte limbaje nu vor putea oferi oricum aceleași capacități. Cu toate acestea, recent a apărut convingerea că este indicat ca un programator să cunoască mai mult de o limbă, deoarece acest lucru îi lărgește orizonturile, permițându-i să rezolve mai creativ problemele și sporindu-și competitivitatea pe piața muncii.

Învățarea perfectă a două limbi precum Java și C++ este destul de dificilă și ar dura mult timp; în plus, multe aspecte ale acestor limbi se contrazic. În același timp, Python este ideal pentru rolul unei a doua limbi, deoarece este absorbit imediat datorită cunoștințelor deja existente despre OOP și faptului că capacitățile sale nu intră în conflict, ci completează experiența dobândită din lucrul cu o altă programare. limba.

Dacă un programator este abia la început în domeniul dezvoltării software, atunci Python va fi un limbaj de programare „introductiv” ideal. Datorită conciziei sale, vă va permite să stăpâniți rapid sintaxa limbii, iar absența „moștenirii” sub formă de axiome formate de-a lungul multor ani vă va ajuta să stăpâniți rapid OOP. Datorită acestor factori, curba de învățare pentru Python va fi destul de scurtă, iar programatorul va putea trece de la exemple educaționale la proiecte comerciale.

Prin urmare, indiferent cine este cititorul acestui articol - un programator cu experiență sau un începător în domeniul dezvoltării software, răspunsul la întrebarea, care este titlul acestei secțiuni, ar trebui să fie un „da”.

Această serie de articole este concepută pentru a vă ajuta să depășiți cu succes curba de învățare, oferind informații de la cele mai de bază principii ale limbii până la capabilitățile sale avansate de integrare cu alte tehnologii. Primul articol va acoperi caracteristicile de bază și sintaxa Python. În cele ce urmează, vom analiza aspecte mai avansate ale lucrului cu acest limbaj popular, în special programarea orientată pe obiecte în Python.

Arhitectura Python

Orice limbaj, fie pentru programare, fie pentru comunicare, constă din cel puțin două părți - vocabular și sintaxă. Limbajul Python este organizat exact în același mod, oferind o sintaxă pentru formarea expresiilor care formează programe executabile și un vocabular - un set de funcționalități sub forma unei biblioteci standard și plug-in-uri.

După cum am menționat, sintaxa lui Python este destul de concisă, mai ales în comparație cu Java sau C++. Pe de o parte, acest lucru este bun, deoarece cu cât sintaxa este mai simplă, cu atât este mai ușor de învățat și cu atât poți face mai puține greșeli în timp ce o folosești. Cu toate acestea, astfel de limbi au un dezavantaj - pot fi folosite pentru a transmite cele mai simple informații și nu pot exprima structuri complexe.

Acest lucru nu se aplică pentru Python, deoarece este un limbaj simplu, dar simplificat. Cert este că Python este un limbaj cu un nivel de abstractizare mai mare, mai mare, de exemplu, decât Java și C++, și vă permite să transmiteți aceeași cantitate de informații într-o cantitate mai mică de cod sursă.

Python este, de asemenea, un limbaj de uz general, deci poate fi folosit în aproape orice domeniu de dezvoltare software (autonom, client-server, aplicații web) și în orice domeniu. În plus, Python se integrează ușor cu componentele existente, permițându-vă să încorporați Python în aplicații deja scrise.

O altă componentă a succesului Python este modulele sale de extensie, atât standard, cât și specifice. Modulele standard de extensie Python sunt funcționalități bine concepute și testate în timp pentru a rezolva problemele care apar în fiecare proiect de dezvoltare software, procesare șiruri și text, interacțiune cu sistemul de operare și suport pentru aplicații Web. Aceste module sunt, de asemenea, scrise în Python, deci au cea mai importantă proprietate - cross-platform, permițându-vă să transferați fără durere și rapid proiecte de la un sistem de operare la altul.

Dacă funcționalitatea necesară nu se află în biblioteca standard Python, vă puteți crea propriul modul de extensie pentru o utilizare repetată ulterioară. Este demn de remarcat aici că modulele de extensie pentru Python pot fi create nu numai în limbajul Python în sine, ci și folosind alte limbaje de programare. În acest caz, este posibilă implementarea mai eficientă a sarcinilor care consumă mult resurse, cum ar fi calcule științifice complexe, dar avantajul multiplatformelor este pierdut dacă limbajul modulului de extensie nu este el însuși multiplatform, precum Python.

Timpul de rulare Python

După cum știți, toate limbajele de programare multiplatformă sunt construite pe același model: este un cod sursă cu adevărat portabil și un mediu de rulare, care nu este portabil și specific fiecărei platforme specifice. Acest mediu de execuție include de obicei un interpret care execută codul sursă și diverse utilități necesare întreținerii aplicației - un depanator, asamblator invers etc.

Mediul de rulare Java include, de asemenea, un compilator, deoarece codul sursă trebuie compilat în bytecode pentru mașina virtuală Java. Runtime-ul Python include doar un interpret, care este, de asemenea, un compilator, dar compilează codul sursă Python direct în codul mașinii de pe platforma țintă.

În prezent, există trei implementări de rulare cunoscute pentru Python: CPython, Jython și Python.NET. După cum sugerează și numele, primul cadru este implementat în C, al doilea în Java și ultimul în platforma .NET.

Runtime-ul CPython este de obicei numit pur și simplu Python, iar când oamenii vorbesc despre Python, se referă cel mai adesea la această implementare. Această implementare constă dintr-un interpret și module de extensie scrise în C și poate fi utilizată pe orice platformă pentru care este disponibil un compilator standard C. În plus, există versiuni precompilate ale runtime-ului pentru diferite sisteme de operare, inclusiv diferite versiuni de Windows OS și diverse distribuții Linux. În acest articol și în articolele ulterioare, CPython va fi luat în considerare, dacă nu se specifică altfel separat.

Runtime-ul Jython este o implementare Python pentru rularea mașinii virtuale Java (JVM). Este acceptată orice versiune JVM, începând cu versiunea 1.2.2 (versiunea Java actuală este 1.6). Lucrul cu Jython necesită o mașină Java instalată (mediu de rulare Java) și anumite cunoștințe ale limbajului de programare Java. Nu este necesar să știți să scrieți codul sursă în Java, dar va trebui să vă ocupați de fișiere JAR și applet-uri Java, precum și de documentație în format JavaDOC.

Ce versiune de mediu să alegeți depinde numai de preferințele programatorului; în general, se recomandă să păstrați atât CPython, cât și Jython pe computer, deoarece nu intră în conflict unul cu celălalt, ci se completează reciproc. Mediul CPython este mai rapid deoarece nu există un strat intermediar sub forma unui JVM; În plus, versiunile actualizate de Python sunt lansate mai întâi ca mediu CPython. Cu toate acestea, Jython poate folosi orice clasă Java ca modul de extensie și poate rula pe orice platformă pentru care există o implementare JVM.

Ambele medii de execuție sunt lansate sub o licență compatibilă cu binecunoscuta licență GPL, astfel încât pot fi utilizate atât pentru dezvoltarea de software comercial, cât și pentru cel gratuit. Majoritatea extensiilor Python sunt, de asemenea, licențiate GPL și pot fi folosite liber în orice proiect, dar există și extensii comerciale sau extensii cu licențe mai stricte. Prin urmare, atunci când utilizați Python într-un proiect comercial, trebuie să știți ce restricții există în licențele plug-in-urilor de extensie.

Începeți cu Python

Înainte de a începe să utilizați Python, trebuie să instalați mediul său de execuție - în acest articol acesta este CPython și, în consecință, interpretul Python. Există diverse metode de instalare: utilizatorii experimentați pot compila ei înșiși Python din codul sursă disponibil public, pot descărca și fișiere executabile gata făcute pentru un anumit sistem de operare de pe site-ul web www.python.org și, în sfârșit, vin multe distribuții Linux cu un interpret Python preinstalat. Acest articol folosește versiunea Windows a lui Python 2.x, dar exemplele prezentate pot fi executate pe orice versiune de Python.

După ce instalatorul a implementat executabilele Python în directorul specificat, trebuie să verificați valorile următoarelor variabile de sistem:

  • CALE. Această variabilă trebuie să conțină calea către directorul în care este instalat Python, astfel încât sistemul de operare să o poată găsi.
  • PYTHONHOME. Această variabilă ar trebui să conțină numai calea către directorul în care este instalat Python. Acest director ar trebui să conțină și un subdirector lib care va fi căutat pentru module standard Python.
  • PYTHONPATH. O variabilă cu o listă de directoare care conțin module de extensie care vor fi conectate la Python (elementele listei trebuie separate printr-un delimitator de sistem).
  • PYTHONSTARTUP. O variabilă opțională care specifică calea către scriptul Python care ar trebui să fie executată de fiecare dată când este pornită o sesiune de interpret Python interactiv.

Linia de comandă pentru lucrul cu interpretul are următoarea structură.

PYTHONHOME\python (opțiuni) [ -c comandă | fișier script | - ] (argumente)

Modul interactiv Python

Dacă porniți interpretul fără a specifica o comandă sau un fișier script, acesta va porni în modul interactiv. În acest mod, este lansat un shell special Python în care pot fi introduse comenzi sau expresii individuale, iar valoarea lor va fi calculată imediat. Acest lucru este foarte convenabil când învățați Python, deoarece puteți verifica imediat corectitudinea unei anumite construcții.

Valoarea expresiei evaluate este stocată într-o variabilă specială numită Single Underscore (_), astfel încât să poată fi utilizată în expresiile ulterioare. Puteți încheia o sesiune interactivă utilizând comanda rapidă de la tastatură Ctrl–Z pe Windows sau Ctrl–D pe Linux.

Opțiunile sunt valori opționale de șir care pot schimba comportamentul interpretului în timpul unei sesiuni; semnificația lor va fi discutată în acest articol și în articolele ulterioare. Opțiunile specifică fie o comandă specifică care urmează să fie executată de interpret, fie calea către un fișier care conține scriptul care urmează să fie executat. Este de remarcat faptul că o comandă poate consta din mai multe expresii, separate prin punct și virgulă, și trebuie să fie cuprinsă între ghilimele pentru ca sistemul de operare să o poată transmite corect interpretului. Argumentele sunt acei parametri care sunt trecuți pentru procesarea ulterioară scriptului executabil; sunt transmise programului ca șiruri de caractere și separate prin spații.

Pentru a verifica dacă Python este instalat corect și funcționează corect, puteți rula următoarele comenzi:

c:\>python-v
c:\> python –c „timpul de import; print time.asctime()”

Opțiunea -v tipărește versiunea implementării Python utilizată și iese, în timp ce a doua comandă tipărește pe ecran valoarea timpului de sistem.

Puteți scrie scripturi Python în orice editor de text, deoarece sunt fișiere text obișnuite, dar există și medii speciale de dezvoltare concepute pentru a funcționa cu Python.

Noțiuni de bază despre sintaxa Python

Scripturile de cod sursă Python constau din așa-numitele șiruri logice, dintre care fiecare constă la rândul său din linii fizice. Simbolul # este folosit pentru a indica comentarii. Interpretul ignoră comentariile și rândurile goale.

Următorul este un aspect foarte important care poate părea ciudat pentru programatorii care învață Python ca al doilea limbaj de programare. Cert este că în Python nu există niciun simbol care să fie responsabil pentru separarea expresiilor una de cealaltă în codul sursă, cum ar fi punctul și virgulă (;) în C++ sau Java. Un punct și virgulă vă permite să separați mai multe instrucțiuni dacă acestea sunt pe aceeași linie fizică. De asemenea, nu există nicio construcție, cum ar fi acolade (), care vă permite să combinați un grup de instrucțiuni într-un singur bloc.

Liniile fizice sunt separate prin caracterul de sfârșit de linie în sine, dar dacă expresia este prea lungă pentru o linie, atunci cele două linii fizice pot fi combinate într-o singură linie logică. Pentru a face acest lucru, trebuie să introduceți un caracter bară oblică inversă (\) la sfârșitul primei linii, iar apoi interpretul va interpreta următoarea linie ca o continuare a primei, cu toate acestea, este imposibil să existe alte caractere pe prima linie după caracterul \, de exemplu, un comentariu cu #. Numai indentarea este folosită pentru a evidenția blocurile de cod. Liniile logice cu aceeași dimensiune a indentării formează un bloc, iar blocul se termină când apare o linie logică cu o dimensiune mai mică a indentației. Acesta este motivul pentru care prima linie a unui script Python nu ar trebui să fie indentată. Stăpânirea acestor reguli simple te va ajuta să eviți majoritatea greșelilor asociate cu învățarea unei noi limbi.

Nu există alte diferențe radicale în sintaxa Python față de alte limbaje de programare. Există un set standard de operatori și cuvinte cheie, dintre care majoritatea sunt deja familiare programatorilor, în timp ce cele specifice Python vor fi tratate în acest articol și în articolele următoare. Regulile standard sunt, de asemenea, utilizate pentru specificarea identificatorilor de variabile, metode și clase - numele trebuie să înceapă cu o liniuță de subliniere sau un caracter latin de orice caz și nu poate conține caracterele @, $, %. De asemenea, un singur caracter de subliniere nu poate fi folosit ca identificator (vezi nota de subsol care vorbește despre modul interactiv de operare).

Tipuri de date utilizate în Python

Tipurile de date utilizate în Python sunt, de asemenea, aceleași cu alte limbi - tipuri de date întregi și reale; În plus, este acceptat un tip de date complex - cu o parte reală și imaginară (un exemplu de astfel de număr este 1,5J sau 2j, unde J este rădăcina pătrată a lui -1). Python acceptă șiruri care pot fi incluse între ghilimele simple, duble sau triple, iar șirurile, precum Java, sunt obiecte imuabile, de exemplu. nu își pot schimba valoarea după creare.

Python are, de asemenea, un tip de date logic bool cu ​​două opțiuni de valoare – True și False. Cu toate acestea, în versiunile mai vechi de Python nu exista un astfel de tip de date și, în plus, orice tip de date putea fi turnat la valoarea booleană True sau False. Toate numerele diferite de zero și șirurile de caractere nevide sau colecțiile de date au fost tratate ca adevărate, iar valorile goale și zero au fost tratate ca false. Această caracteristică a fost păstrată în noile versiuni de Python, cu toate acestea, pentru a crește lizibilitatea codului, se recomandă utilizarea tipului bool pentru variabilele booleene. În același timp, dacă trebuie să mențineți compatibilitatea cu versiunile vechi cu implementările Python mai vechi, atunci ar trebui să utilizați 1 (adevărat) sau 0 (fals) ca variabile booleene.

Funcționalitate pentru lucrul cu seturi de date

Python definește trei tipuri de colecții pentru stocarea seturilor de date:

  • tuplu (tuplu);
  • lista(lista);
  • dicţionar.

Un tuplu este o secvență ordonată imuabilă de date. Poate conține elemente de diferite tipuri, cum ar fi alte tupluri. Un tuplu este definit în paranteze, iar elementele sale sunt separate prin virgule. O funcție specială încorporată, tuple(), vă permite să creați tupluri dintr-o anumită secvență de date.

O listă este o secvență de elemente mutabilă, ordonată. Elementele listei sunt, de asemenea, separate prin virgule, dar sunt specificate între paranteze drepte. Pentru a crea liste, este propusă funcția list().

Un dicționar este un tabel hash care stochează un element împreună cu cheia sa de identificare. Accesul ulterior la elemente se realizează și prin cheie, astfel încât unitatea de stocare dintr-un dicționar este o pereche obiect-cheie și un obiect valoare asociat. Un dicționar este o colecție mutabilă, dar neordonată, astfel încât ordinea elementelor din dicționar se poate schimba în timp. Dicționarul este specificat între acolade, cheia este separată de valoare prin două puncte, iar perechile cheie/valoare sunt separate prin virgule. Funcția dict() este disponibilă pentru a crea dicționare.

Lista 1 prezintă exemple ale diferitelor colecții disponibile în Python.

Listarea 1. Tipuri de colecții disponibile în Python
('w','o','r','l','d') # tuplu de cinci elemente (2.62,) # tuplu de un element [„test”, „me”] # listă de două elemente # listă goală ( 5:'a', 6:'b', 7:'c' ) # dicționar de trei elemente cu chei de tip int

Definirea funcțiilor în Python

Deși Python acceptă OOP, multe dintre caracteristicile sale sunt implementate ca funcții separate; În plus, modulele de extensie sunt cel mai adesea realizate sub forma unei biblioteci de funcții. Funcțiile sunt folosite și în clase, unde sunt denumite în mod tradițional metode.

Sintaxa pentru definirea funcțiilor în Python este extrem de simplă; ținând cont de cerințele de mai sus:

def FUNCTION_NAME(parametri): expresia nr. 1 expresia nr. 2 ...

După cum puteți vedea, este necesar să folosiți cuvântul funcție def, două puncte și indentare. Apelarea funcției este, de asemenea, foarte simplă:

FUNCTION_NAME(parametri)

Există doar câteva lucruri specifice Python de luat în considerare. Ca și în Java, valorile primitive sunt transmise după valoare (o copie a parametrului este transmisă funcției și nu poate schimba valoarea setată înainte de apelarea funcției), iar tipurile de obiecte complexe sunt transmise prin referință (o referință este a trecut la funcție și poate schimba obiectul).

Parametrii pot fi transferați fie prin ordinea de listare, fie după nume; în acest caz, nu trebuie să specificați atunci când apelați acei parametri pentru care există valori implicite, ci să treceți doar pe cei necesari sau să modificați ordinea parametrilor la apelarea unei funcții :

#funcție care efectuează împărțirea întregului - folosind operatorul // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # rezultatul muncii: 10 print divide(delitel=5, delimoe=50) # rezultatul funcționează: 10

O funcție din Python trebuie să returneze o valoare - acest lucru se face fie în mod explicit cu o instrucțiune return urmată de valoarea returnată, fie, în absența unei instrucțiuni return, constanta None este returnată când se ajunge la sfârșitul funcției. După cum puteți vedea din exemplele de declarații ale funcției, în Python nu este nevoie să specificați dacă ceva este returnat de la o funcție sau nu, dar dacă o funcție are o instrucțiune return care returnează o valoare, atunci alte instrucțiuni return din acea funcție trebuie să returneze valori, iar dacă o astfel de valoare nu, atunci trebuie să specificați în mod explicit return None.

Dacă funcția este foarte simplă și constă dintr-o linie, atunci poate fi definită chiar în punctul de utilizare; în Python, o astfel de construcție se numește funcție lambda. O funcție lambda este o funcție anonimă (fără nume propriu), al cărei corp este o instrucțiune return care returnează valoarea unei expresii. Această abordare poate fi convenabilă în unele situații, dar este de remarcat faptul că reutilizarea unor astfel de funcții este imposibilă („unde s-a născut, a fost la îndemână”).

De asemenea, merită să descriem atitudinea lui Python față de utilizarea recursiunii. În mod implicit, adâncimea recursiunii este limitată la 1000 de niveluri, iar când acest nivel este trecut, o excepție va fi ridicată și programul se va opri. Cu toate acestea, dacă este necesar, valoarea acestei limite poate fi modificată.

Funcțiile din Python au alte caracteristici interesante, cum ar fi documentația și capacitatea de a defini funcții imbricate, dar acestea vor fi explorate în articolele ulterioare din serie cu exemple mai complexe.