În calitate de programator, de multe ori te vei trezi că efectuezi o acțiune sau o sarcină în mod repetat. Acest lucru poate fi obositor și consumator de timp, mai ales atunci când lucrați cu o bază de cod mare sau complexă. Automatizarea acestora cu funcții este o abordare mai eficientă pentru realizarea unor astfel de sarcini. Funcțiile vă permit să scrieți logica codului o dată și să o utilizați oriunde în program.

Ce este o funcție Python?

În Python, o funcție este un bloc de cod folosit pentru a efectua o anumită sarcină. Trebuie să scrieți o funcție o singură dată, dar o puteți utiliza de mai multe ori în cod. O funcție poate prelua argumente ca valori de intrare și returnare de ieșire. Acest program simplu arată o funcție care calculează suma a trei numere:

# Funcția Python pentru a calcula suma a trei numere

defcalcula_sum(a, b, c):
întoarcere a+b+c

imprimare (calculate_sum(1,2,3)) # returnează 6
imprimare (calculate_sum(1000, 300,44)) # returnează 1344
imprimare (calculate_sum(12, 4,78)) # returnează 94

instagram viewer

În programul de mai sus, funcția returnează suma a trei argumente. Când funcția este apelată de mai multe ori, returnează o ieșire diferită pentru fiecare caz. O aplicație utilă pentru această funcție va fi o aplicație pentru calculator.

Definirea unei funcții în Python

Python are multe funcții încorporate disponibil pentru utilizare pentru dezvoltatori. Cu toate acestea, aceste funcții încorporate nu sunt întotdeauna suficiente pentru a satisface cerințele majorității proiectelor. Pentru a satisface cerințele personalizate, trebuie să vă definiți funcțiile personalizate. Definirea funcțiilor personalizate este o practică comună în programare.

În Python, puteți defini o funcție personalizată folosind def cuvânt cheie urmat de numele funcției dvs. cu paranteze în fața acestuia. Iată un exemplu:

defnume_funcție()

Ar trebui să țineți cont de aceste reguli atunci când atribuiți un nume de funcție în Python:

  • Numele funcțiilor ar trebui să fie cu litere mici.
  • Numele funcțiilor ar trebui să fie descriptive.
  • Utilizați caractere de subliniere pentru a separa cuvintele dintr-un nume de funcție.

După definirea funcției, trebuie să scrieți logica pentru a efectua sarcina dorită. De exemplu, această funcție calculează aria unui triunghi:

# Funcția Python pentru a calcula aria unui triunghi

defcalculează_aria_triunghiului(baza, inaltimea):
suprafata = (baza * inaltime)/2
întoarcere zonă

imprimare (calculați_aria_triunghiului(12, 3))

Funcția de mai sus definește doi parametri: baza și înălţime, împarte produsul lor la doi și returnează rezultatul ca rezultat. Puteți scrie orice logică doriți să îndeplinească funcția dvs.

Înțelegerea argumentelor funcției

În exemplele anterioare, funcțiile au luat argumente pentru a efectua acțiuni. Argumentele din aceste exemple sunt cunoscute ca argumente obligatorii sau poziționale. În Python, argumentele dvs. pot fi oricare dintre următoarele:

  • Argumente poziționale
  • Argumente ale cuvintelor cheie

Argumente poziționale

Argumentele poziționale trebuie transmise în ordinea corectă a definiției. De exemplu, dacă definiți o funcție cu parametri a, b, și c, trebuie să treceți în consecință valori pentru acești parametri atunci când îi apelați. Să examinăm un exemplu anterior:

# Funcția Python pentru a calcula suma a trei numere

defcalcula_sum(a, b, c):
întoarcere a+b+c

imprimare (calculate_sum(1,2,3)) # returnează 6
imprimare (calculate_sum(1000, 300,44)) # returnează 1344
imprimare (calculate_sum(12, 4,78)) # returnează 94

În programul de mai sus, calculate_sum() funcția ia trei argumente ori de câte ori o numim. Fiecare argument reprezintă un parametru corespunzător. În primul apel de funcție, numere 1, 2, și 3 reprezinta a, b, și c în consecinţă.

Un parametru este declarat în definiția unei funcții, în timp ce un argument este valoarea transmisă atunci când apelați funcția. Această valoare este o reprezentare a parametrului corespunzător.

Argumentele poziționale sunt obligatorii. Dacă nu le adăugați, veți primi un Eroare de scris. Următorul exemplu demonstrează acest lucru:

defcalcula_sum(a, b, c):
întoarcere a+b+c

imprimare (calculate_sum(1,2)) # generează TypeError

Când rulați programul de mai sus pe mașina dvs., veți obține o eroare similară cu cea din imaginea de mai jos:

Argumentele cuvintelor cheie

Argumentele cuvintelor cheie nu trebuie neapărat să fie transmise ori de câte ori apelați o funcție. Sunt argumente opționale și nu trebuie să urmeze o anumită ordine. Python ne permite să folosim *args și **kwargs pentru a specifica argumentele cuvintelor cheie.

În afară de folosire *args și **kwargs, este de asemenea posibil să specificați valori implicite pentru argumentele dvs. Dacă faceți acest lucru, nu veți primi o eroare dacă uitați să adăugați o valoare atunci când apelați funcția. Acest exemplu oferă o ilustrare:

defcalcula_sum(a, b, c=3):
întoarcere a+b+c

imprimare (calculate_sum(1,2)) # returnează 6

În programul de mai sus, când calculate_sum() este numit, nu există niciun argument pentru c; acest lucru nu va afecta programul deoarece c are deja o valoare implicită. Puteți specifica valori implicite pentru câte argumente doriți, dar asigurați-vă că faceți acest lucru cu înțelepciune.

Utilizați funcțiile pentru a vă organiza codul

Funcțiile sunt utile pentru organizarea codului, făcându-l mai lizibil și mai eficient. Cu funcții, vă puteți împărți codul în bucăți mai mici, reutilizabile, care sunt mai ușor de înțeles și de întreținut. În plus, dacă trebuie să faceți modificări codului, trebuie doar să modificați funcția necesară, mai degrabă decât întreaga bază de cod.