Funcții Python
O funcție este un bloc de cod cu nume, care stă nefolosit până când îl apelezi.
Poate trimite date înapoi ca rezultat.
De asemenea, te scutește să repeți același cod.
Crearea unei funcții
Începe o funcție cu cuvântul cheie def, apoi dă-i un nume și o pereche de paranteze.
Secțiunea următoare definește astfel o funcție numită my_function. De fiecare dată când este apelată, ea afișează „Hello from a function”.
Indentează codul care aparține funcției, deoarece prin indentare marchează Python un bloc de cod.
Apelarea unei funcții
Ca să apelezi o funcție, ai nevoie doar de numele ei și de o pereche de paranteze.
Aceeași funcție poate fi apelată de câte ori vrei.
Exemplu
my_function care afișează „Salut de la o funcție”.
Apelează funcția o singură dată.
Ieșire: program Python complet
def my_function():
print("Salut de la o funcție")
my_function()
Exemplu
my_function care afișează „Salut de la o funcție”.
Apelează funcția de trei ori.
Ieșire: program Python complet
def my_function():
print("Salut de la o funcție")
my_function()
my_function()
my_function()
Numele funcțiilor
Denumirea unei funcții urmează aceleași reguli ca denumirea unei variabile în Python:
- Primul caracter trebuie să fie o literă sau un caracter de subliniere
- Sunt permise doar litere, cifre și caractere de subliniere
- Majusculele și minusculele contează ca diferite, așa că
myFunctionșimyfunctionsunt două nume separate
Alege un nume descriptiv, care spune ce face funcția.
calculate_sum()
_private_function()
myFunction2()
De ce să folosim funcții?
Să presupunem că programul tău trebuie să transforme temperaturi din grade Fahrenheit în grade Celsius în mai multe locuri. Fără funcții, același calcul este scris din nou și din nou.
O funcție îți permite să-l scrii o singură dată și apoi să-l folosești oriunde ai nevoie.
Exemplu
Cod repetitiv, fără funcție:
Ieșire: program Python complet
temp1 = 77
celsius1 = (temp1 - 32) * 5 / 9
print(celsius1)
temp2 = 95
celsius2 = (temp2 - 32) * 5 / 9
print(celsius2)
temp3 = 50
celsius3 = (temp3 - 32) * 5 / 9
print(celsius3)
Exemplu
Cod reutilizabil, cu funcție:
fahrenheit_to_celsius care convertește grade Fahrenheit în grade Celsius.
Folosește-o pentru a converti și a afișa 77, 95 și 50.
Ieșire: program Python complet
def fahrenheit_to_celsius(fahrenheit):
return (fahrenheit - 32) * 5 / 9
print(fahrenheit_to_celsius(77))
print(fahrenheit_to_celsius(95))
print(fahrenheit_to_celsius(50))
Valori returnate
Instrucțiunea return îi permite unei funcții să trimită date înapoi codului care a apelat-o.
Imediat ce se execută, funcția se oprește și rezultatul este trimis înapoi.
Acea valoare poate fi stocată într-o variabilă sau folosită pe loc.
Fără nicio instrucțiune return, o funcție returnează None.
Exemplu
Stocarea unei valori returnate într-o variabilă:
get_greeting care returnează „Salut de la o funcție”.
Stochează valoarea returnată într-o variabilă și afișeaz-o.
Ieșire: program Python complet
def get_greeting():
return "Salut de la o funcție"
message = get_greeting()
print(message)
Exemplu
Afișarea imediată a valorii returnate:
get_greeting care returnează „Salut de la o funcție”.
Afișează direct valoarea returnată, fără a o stoca.
Ieșire: program Python complet
def get_greeting():
return "Salut de la o funcție"
print(get_greeting())
Instrucțiunea pass
Definiția unei funcții trebuie să aibă un corp. Pentru o funcție provizorie, care nu are încă niciun cod, scrie în interiorul ei instrucțiunea pass.
Programatorii folosesc des pass ca să schițeze mai întâi structura unui program și să adauge detaliile mai târziu.
Exemplu
my_function folosind instrucțiunea pass.
Ieșire: program Python complet
def my_function():
pass