funzioni
Finora abbiamo scritto tutto il nostro codice in app.py, ma man mano che i nostri programmi crescono, abbiamo bisogno di un modo migliore per organizzare il nostro codice. Abbiamo bisogno di suddividere il nostro codice in blocchi più piccoli, più gestibili e più gestibili che chiamiamo funzioni. La funzione è un contenitore per poche righe di codice che eseguono un'attività specifica.
Ad esempio, hai già imparato alcune funzioni integrate in Python print()
ed input()
. Ogni funzione ha uno scopo e sa come svolgere un compito specifico. Quindi, quando costruiamo grandi programmi complessi, dovremmo suddividere il nostro codice in blocchi riutilizzabili più piccoli, cioè funzioni.
Cerchiamo di capire questo concetto costruendo un programma per la stampa di un messaggio di saluto.
print('Hi there!')
print('Welcome aboard!')
Qui abbiamo un semplice programma con solo due righe di codice. Ora, diciamo, ne avremo bisogno in altri programmi per inserirli in una funzione che possiamo riutilizzare.
Permettetemi di introdurre una parola chiave riservata def
in Python, che è l'abbreviazione di define e viene utilizzato per definire una funzione.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Ora questo blocco di codice definirà una funzione "greet_user
” con le righe di codice dopo. Ogni volta che viene chiamata questa funzione, queste due righe verranno eseguite. Usiamo questo:
print('start')
greet_user()
print('finish')
Il programma viene eseguito in sequenza, il che significa che dovresti definire una funzione prima di chiamarla nel programma.
parametri
Le funzioni definite funzionano in modo leggermente diverso rispetto alle funzioni integrate di Python. Ad esempio, nel caso di print()
una funzione, prende alcune informazioni che vogliamo stampare, ma la nostra funzione di saluto non prende alcuna informazione. Non sarebbe meglio se potessi passare qui il nome dell'utente e poi, invece di dire "ciao", potresti stampare il nome dell'utente?
Puoi farlo aggiungendo i parametri tra parentesi della funzione definita. Lascia che ti mostri:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Ora il "name
” tra parentesi agirà come una variabile locale e possiamo passare il nome dell'utente quando lo chiamiamo.
greet_user('Shahbaz')
Ora il parametro del nome è impostato su "Shahbaz
”. Modifichiamo il programma per utilizzarlo.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Una cosa importante da notare è che il "nome" nella prima riga è chiamato parametro mentre il nome fornito, ad esempio Shahbaz, è chiamato argomento.
Andiamo avanti ed eseguiamo questo programma.
Quindi con questi parametri possiamo ricevere informazioni nelle nostre funzioni.
Ora, facciamo qualcosa di interessante. Supponiamo che tu voglia aggiungere un altro nome al messaggio di saluto. È semplice.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Ora si noti che quando una funzione ha un parametro, siamo obbligati a passare un valore per quel parametro. Se rimuovi il nome dalla funzione ed esegui il programma, riceveremo un errore. È inoltre possibile utilizzare più parametri in un'unica funzione, separati da una virgola.
Per esempio, greet_user(first_name, last_name):
. Anche gli argomenti verranno formattati in modo simile.
Argomenti delle parole chiave
Finora, abbiamo imparato che ogni volta che definiamo parametri per le nostre funzioni dovremmo sempre fornire valori altrimenti otterremo un errore. Nell'ultimo programma, gli argomenti 'Shahbaz'
ed 'Bhatti'
sono chiamati argomenti posizionali, il che significa che la loro posizione o ordine sono importanti nel programma.
In Python, abbiamo un altro tipo di argomento chiamato keyword arguments, per il quale la posizione non ha importanza. Lascia che ti mostri come funzionano.
Guarda l'ultimo programma. Possiamo modificarlo in questo modo:
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')
Ora il first_name
ed last_name
sono i parametri delle parole chiave. Puoi cambiare posto e il risultato sarà lo stesso.
Ora, ciò non significa che dovremmo sempre usare gli argomenti delle parole chiave. La maggior parte delle volte utilizziamo argomenti posizionali, ma in determinate situazioni, questi argomenti chiave ci aiutano a migliorare la leggibilità del nostro codice.
C'è un'altra cosa che devi sapere sugli argomenti delle parole chiave. Gli argomenti delle parole chiave dovrebbero sempre venire dopo gli argomenti posizionali.
Dichiarazione di ritorno
Finora abbiamo imparato come creare funzioni e inviare loro informazioni utilizzando i loro parametri. Ora impariamo come creare funzioni che restituiscono valori. Ciò è particolarmente utile se stai facendo qualche tipo di calcolo e vuoi restituire il risultato a chiunque stia usando la tua funzione. Lascia che ti mostri.
Definiamo una funzione che calcolerà il quadrato di un numero.
def square(number):
return number*number
Abbiamo usato l'istruzione return per restituire questo numero al di fuori della funzione. Ora, se chiamiamo questa funzione, restituisce un valore proprio come il input()
funzione. Stampiamolo sul terminale.
Si può sostenere che lo stesso risultato può essere ottenuto senza utilizzare l'istruzione return. Controlliamolo.
Vediamo due cose, il numero 9 e nessuna. Cosa sta succedendo qui?
Quando l'interprete Python esegue questo codice, prima chiamerà la funzione square e il controllo si sposterà sulla funzione. Qui calcoliamo il quadrato di questo dato numero e poi lo stampiamo sul terminale.
Ora, per impostazione predefinita, tutte le funzioni restituiscono il valore none. Quindi, se non abbiamo un'istruzione return qui, per impostazione predefinita Python non restituisce nessuno. None è un oggetto che rappresenta l'assenza di un valore. È come niente o nullo in C, C++, Java e Javascript.
Incartare!
Spero che tu abbia compreso l'importanza delle funzioni.
Sono un aspetto significativo dell'apprendimento di Python se hai intenzione di scrivere programmi grandi e complessi durante la tua carriera di codificatore.
Lascia un Commento