funzioni
Finu à avà, avemu scrittu tuttu u nostru codice in l'app.py, ma cum'è i nostri prugrammi crescenu, avemu bisognu di un modu megliu per urganizà u nostru codice. Avemu bisognu di scumpressà u nostru codice in pezzi più chjuchi, più gestibili è più mantenibili chì chjamemu funzioni. A funzione hè un cuntainer per uni pochi di linee di codice chì facenu un compitu specificu.
Per esempiu, avete digià amparatu nantu à uni pochi di funzioni integrate in Python print()
e input()
. Ogni funzione hà un scopu è sà cumu fà un compitu specificu. Allora, quandu custruemu grandi prugrammi cumplessi, duvemu sparghje u nostru codice in pezzi riutilizzabili più chjuchi, vale à dì funzioni.
Capemu stu cuncettu custruendu un prugramma per stampà un missaghju di salutu.
print('Hi there!')
print('Welcome aboard!')
Eccu avemu un prugramma simplice cù solu duie linee di codice. Avà, dicemu, avemu bisognu di elli in altri prugrammi per mette in una funzione chì pudemu reutilizà.
Permettemi di presentà una keyword riservata def
in Python, chì hè corta per definisce è hè utilizatu per definisce una funzione.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Avà stu bloccu di codice definisce una funzione "greet_user
"Cù i linii di codici dopu. Ogni volta chì sta funzione hè chjamata, queste duie linee seranu eseguite. Usemu questu:
print('start')
greet_user()
print('finish')
U prugramma hè eseguitu in sequenza, vale à dì chì avete da definisce una funzione prima di chjamà in u prugramma.
login
E funzioni definite funzionanu un pocu sfarente di e funzioni integrate di Python. Per esempiu, in u casu di print()
una funzione, ci vole qualchì infurmazione chì vulemu stampà, ma a nostra funzione di salutu ùn piglia micca infurmazione. Ùn saria più bellu se pudete passà u nome di l'utilizatore quì è dopu, invece di dì "ciao", pudete stampà u nome di l'utilizatore ?
Pudete fà questu aghjunghjendu i paràmetri in a parentesi di a funzione definita. Lasciami mustrà:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Avà u "name
" Dentru a parentesi agirà cum'è una variabile lucale è pudemu passà u nome di l'utilizatore quandu u chjamemu.
greet_user('Shahbaz')
Avà u paràmetru di nome hè stabilitu à "Shahbaz
". Alteremu u prugramma per fà usu di questu.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Una cosa impurtante da nutà hè chì u "nome" in a prima linea hè chjamatu Parametru mentre chì u nome furnitu, ie Shahbaz, hè chjamatu argumentu.
Andemu avanti è curriri stu prugrammu.
Cusì cù sti paràmetri, pudemu riceve infurmazione in e nostre funzioni.
Avà, facemu qualcosa interessante. Dicemu chì vulete aghjunghje un altru nome à u missaghju di salutazione. Hè simplice.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Avà nutate chì quandu una funzione hà un paràmetru, simu obligati di passà un valore per quellu paràmetru. Se sguassate u nome da a funzione è eseguite u prugramma, averemu un errore. Pudete ancu aduprà parechje parametri in una sola funzione, siparati da una virgola.
Per esempiu, greet_user(first_name, last_name):
. L'argumenti seranu ancu furmatu in u listessu modu.
Argumenti chjave
Finu a ora, avemu amparatu chì ogni volta chì definiscemu parametri per e nostre funzioni, duvemu sempre furnisce i valori altrimenti averemu un errore. In l'ultimu prugramma, l'argumenti 'Shahbaz'
e 'Bhatti'
sò chjamati argumenti positionali, chì significheghjanu a so pusizioni o l'ordine in u prugramma.
In Python, avemu un altru tipu d'argumentu chjamatu argumenti di keyword, per quale a pusizione ùn importa micca. Permettemu di mostrà cumu travaglianu.
Fighjate à l'ultimu prugramma. Pudemu mudificà cusì cusì:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Avà u first_name
e last_name
sò i paràmetri di keyword. Pudete cambià i so posti è u risultatu serà u listessu.
Avà chì ùn significa micca chì duvemu sempre aduprà argumenti di keyword. A maiò parte di u tempu usemu argumenti pusiziunali, ma in certi situazioni, sti argumenti di keyword ci aiutanu à migliurà a leghjibilità di u nostru codice.
Ci hè una cosa più chì avete bisognu di sapè nantu à l'argumenti chjave. L'argumenti di keyword deve sempre vene dopu à l'argumenti posizionali.
Dichjarazione di ritornu
Finu à avà avemu amparatu à creà funzioni è mandà infurmazioni cù i so paràmetri. Avà imparemu à creà funzioni chì tornanu i valori. Questu hè particularmente utile s'è vo fate qualchì tipu di calculi è vulete rinvià u risultatu à quellu chì usa a vostra funzione. Lasciami mustrà.
Definimu una funzione chì calculerà u quadru di un numeru.
def square(number):
return number*number
Avemu usatu a dichjarazione di ritornu per rinvià stu numeru fora di a funzione. Avà, se chjamemu sta funzione, torna un valore cum'è u input()
funzione. Stampemu nantu à u terminal.
Pudete argumentà chì u listessu risultatu pò esse acquistatu senza usà a dichjarazione di ritornu. Cuntrollamu.
Avemu vistu duie cose, u numeru 9, è nimu. Chì succede quì ?
Quandu l'interprete Python eseguisce stu codice, prima chjamarà a funzione quadrata è u cuntrollu passa à a funzione. Quì avemu calculate u quadru di stu numeru datu è poi stampate nantu à u terminal.
Avà, per automaticamente, tutte e funzioni tornanu u valore nimu. Allora s'ellu ùn avemu micca una dichjarazione di ritornu quì, per difettu Python ùn torna nimu. Nisunu hè un oggettu chì rapprisenta l'absenza di un valore. Hè cum'è nunda o nulla in C, C++, Java è Javascript.
Conclude!
Spergu chì avete capitu l'impurtanza di e funzioni.
Sò un aspettu significativu di l'apprendimentu di Python si pensa à scrive prugrammi grandi è cumplessi durante a vostra carriera di codificazione.
Lascia un Audiolibro