Funcții în Python: def. Python 3 pentru începători

În limbile de programare, funcțiile sunt o parte denumită a codului. Acestea sunt blocuri separate în textul programului. Definită folosind cuvântul rezervat def. În Python, funcțiile pot fi accesate de ori nelimitat din orice parte a scriptului.Python def

De ce aveți nevoie de funcții

Funcțiile sunt un instrument indispensabil pentru programator. Cu ajutorul lor, dezvoltatorul structurează programul, făcându-l mai inteligibil și mai compact. Cu ajutorul funcțiilor, puteți reutiliza o bucată separată de cod fără să o recitiți.

Acesta este cel mai simplu mod de a împacheta logica executării părților individuale ale unui program. Aceasta reduce cantitatea și timpul pe care un specialist le cheltuiește pentru crearea unui script.

Cum se scrie prima funcție

În Python 3 pentru începători, familiaritatea cu programarea este cea mai simplă funcție print (). Pentru a vedea acest lucru în acțiune, veți avea nevoie de un mediu de dezvoltare. Pentru a face acest lucru, descărcați distribuția de limbi de pe site-ul oficial și instalați Python pe computer.

Deschideți meniul Start și în lista de programe găsiți Python 3. Extindeți-l cu butonul stâng al mouse-ului. În lista care se deschide, localizați mediul IDLE și porniți-l. Tipăriți tipărirea ("Bună ziua, lumea!") Și apăsați pe "Enter". Interpretul va returna rezultatul primei tale funcții.

Unii programatori preferă să lucreze în consola. Dacă sunteți unul dintre ei, apăsați win + R și tastați python.exe. Un interpreter normal se va deschide, numai cu interfața cmd. Tastați programul în modul descris mai sus și apăsați Enter la sfârșit pentru a vedea rezultatul.Python 3 pentru începători

Cum se utilizează def

Funcțiile noi sunt create folosind instrucțiunea def. Sunt la fel de eficiente ca și built-in print () sau open (), dar diferă de funcțiile în compilarea limbilor. Python def se referă la instrucțiunile executabile. Aceasta înseamnă că funcția nu există până când interpretul nu o vede și nu merge la execuția sa.

Instrucțiunea def creează un obiect nou și îi dă un nume. Asta este, atunci când interpretul începe implementarea, creează un obiect nou și îl asociază cu numele specificat după def. Pentru a stoca datele în funcții, puteți atașa diverse atribute.

Acum, să scriem o funcție care returnează expresia "Hello, World!", Numai cu def:

  • > def hello_mir ():
  • print ("Bună ziua, lumea!")
  • > apel pentru funcția # hello_mir ()
  • Bună ziua, lume!

Sintaxă de funcții și retur

Instrucțiunea Def din Python constă dintr-un antet și este scris conform următoarelor reguli:

  • > def (argumentul 1, argumentul 2, argumentul N):

După ce antetul urmează blocul de instrucțiuni, care începe cu o indentare obligatorie. În IDLE, interpretul o va face automat. Dar în notepad sau într-un alt editor de text, puteți uita să apăsați Tab. Apoi funcția nu va porni. Codul programului din blocul de instrucțiuni este numit corpul funcției și este executat de fiecare dată când este apelat.

De asemenea, în organism, se întoarce uneori:

  • def (argumentul 1, argumentul 2, argumentul N):
  • ...
  • întoarcere

Returul iese din funcție și transmite obiectul rezultat la programul de apelare. Instrucțiunea nu este obligatorie. Funcția va funcționa fără întoarcere și se va termina când firul de control ajunge la capătul corpului său.comenzi python

Parametrii și argumentele

Fiecare funcție poate trece parametrii care sunt specificați în paranteze după def. În Python, ele sunt scrise ca variabile, separate prin virgule. Valorile sau referințele obiect la aceste nume sunt atribuite în bloc după colon. După operația de atribuire, acestea sunt de obicei numite argumente, nu parametri.

Argumentele din cadrul unei funcții nu sunt legate de obiectele din afara acesteia, deci sunt denumite variabile locale în programare. Domeniul de aplicare este limitat la un bloc de funcții care începe cu def și se termină cu întoarcere. Pentru a face mai clară, să dăm un exemplu:

  • x = 12 # atribui referințe variabile la obiecte întregi
  • y = 34
  • > exemplu def (x, y): # creați o funcție numită exemplu
  • x = "Hello" # atribuie valori argumentului x, y
  • y = "Python"
  • tipăriți (x, y, sep = «,»)
  • retur Nu există
  • > exemplu (x, y) # apelați funcția, nu uitați să specificați parametrii
  • Bună, Python
  • > imprimare (x, y)
  • 12 34


Acordați atenție liniei penultimate a codului. În interpretul Python, comanda print () a returnat variabilele x și y din domeniul de aplicare global.

Valorile argumentelor nu trebuie specificate în interiorul funcției, le puteți introduce manual atunci când o numiți:

  • > def E_2 (x, y):
  • returnați x + y
  • > E_2 ("Bună ziua", "Python!") # Pentru ca cuvintele să fie separate, puneți un spațiu înainte de cotația de închidere
  • Bună, Python!
  • E_2 (5, 4)
  • 10

După cum se poate observa din exemplul cu o funcție simplă E_2, rezultatul este complet dependent de tipul de obiecte x și y. În primul caz E_2 a efectuat concatenarea, iar în al doilea caz - operația aritmetică a adăugării. Acesta este principiul polimorfismului și tipărirea dinamică. Faptul că obiectele determină sensul sintactic, determină flexibilitatea și simplitatea limbii. Nu este nevoie să acordați timp pentru a specifica tipul de date cu care funcționează funcția.funcția python def

Regula LEGB

Această regulă se aplică muncii cu variabile în diferite domenii. În mod implicit, toate numele pe care le creați în corpul funcției sunt considerate locale. Și numele din modul sunt globale. Dacă se dorește, numele pot fi atribuite valorii variabilelor de nivel superior folosind instrucțiunile notlocale și globale.

Regula LEGB explică schema de rezoluție a numelui:

  1. Odată ce interpretul găsește o variabilă în interiorul instrucțiunii def, mai întâi caută valori în domeniul local.
  2. În cazul în care căutarea nu reușește, aceasta merge în sfera de aplicare a oricărei instrucțiuni def definite.
  3. Apoi, interpretul se îndreaptă către denumirile globale din nivelul superior al modulului și ceea ce este desemnat drept global.
  4. În cazul în care căutarea nu reușește, interpretul caută nume din domeniul de aplicare integrat Python.

Să luăm în considerare un exemplu ilustrativ:

  • > L = 85
  • > R = 23
  • > exemplu_2 (K):
  • R = 10
  • C = L + K + R
  • retur C
  • > exemplu_2 (5)
  • 100

Variabilele L și R se află la nivelul de vârf și sunt nume globale. R, C și K sunt variabile locale, deoarece atribuirea valorii apare în interiorul instrucțiunii def.

În primul rând, interpretul efectuează o operație de adăugare pentru localitățile R, C și K, ignorând variabila R în afara instrucțiunii def. Apoi îl caută pe L și, dacă nu o găsește printre numele local, merge la nivelul superior.

Ce este lambda

În plus față de def, în Python, funcțiile pot fi create folosind expresii speciale, dintre care unul este lambda. Numele său original a fost dat în onoarea calculului lambda limbii LISP.

La fel ca def, lambda creează o funcție pe care o puteți apela mai târziu, dar nu o asociați cu niciun nume. În practică, lambda este utilizată când trebuie să întârzieți executarea unui fragment de cod.expresia lambda

Elementele de bază ale expresiilor lambda

În aparență, expresiile lambda seamănă cu instrucțiunile def. Mai întâi, cuvântul cheie lambda este scris, apoi argumentele, colonul și expresia în sine:

  • > f = lambda x, y, z: x + y + z
  • > f (2, 3, 4)
  • 9

Corpul unei lambda este o singură expresie, nu un bloc de instrucțiuni. Din acest motiv, lambda este limitată în capacități și nu la fel de versatilă ca def. Numai logica poate fi implementată în ea, fără timp sau pentru bucle.

Pentru o lambda, regulile de căutare pentru variabile sunt aceleași ca și pentru def. Numele specificate în afara expresiei sunt globale, în interiorul - local și nu se afectează în vreun fel.

Expresiile Lambda sunt foarte convenabile pentru a încorpora în program. Datorită dimensiunilor mici, acestea minimizează și simplifică codul. Dar utilizarea lui lambda nu este fundamentală. În Python 3, instrucția def este suficientă pentru începători.

Distribuiți pe rețelele sociale:

înrudit
Colt `Python` - trecut și prezentColt `Python` - trecut și prezent
Python pentru începătoriPython pentru începători
Programarea jocurilor: programe, caracteristici ale creației și recomandăriProgramarea jocurilor: programe, caracteristici ale creației și recomandări
Python - ce este? Un limbaj de programare la nivel înaltPython - ce este? Un limbaj de programare la nivel înalt
Cele mai populare limbi de programare. Limbaje de programare pentru începătoriCele mai populare limbi de programare. Limbaje de programare pentru începători
Limba de programare Python: bucleLimba de programare Python: bucle
Proceduri standard și funcții în PascalProceduri standard și funcții în Pascal
Scripting limbi de programare: sarcini, caracteristici și beneficiiScripting limbi de programare: sarcini, caracteristici și beneficii
Programatori web: descrierea profesiei, plusuri și minusuriProgramatori web: descrierea profesiei, plusuri și minusuri
Programarea în Python: ListăProgramarea în Python: Listă
» » Funcții în Python: def. Python 3 pentru începători