Che cos'è una funzione nella programmazione?

Che cos'è una funzione nella programmazione?

Ti capita spesso di copiare e incollare il tuo codice per riutilizzarlo in diverse sezioni del tuo programma?





In tal caso, potresti prendere in considerazione l'utilizzo di funzioni. Le funzioni sono una caratteristica molto potente dei linguaggi di programmazione. Possono rendere il codice più efficiente, più facile da leggere ed elegante.





Che cos'è una funzione?

Una funzione è un blocco di codice che esegue un'attività. Può essere chiamato e riutilizzato più volte. Puoi passare informazioni a una funzione e può inviare informazioni indietro. Molti linguaggi di programmazione hanno funzioni integrate a cui puoi accedere nella loro libreria, ma puoi anche creare le tue funzioni.





Quando chiami una funzione, il programma metterà in pausa il programma corrente ed eseguirà la funzione. La funzione verrà letta dall'alto verso il basso. Una volta completata la funzione, il programma continua a funzionare da dove era stato interrotto. Se la funzione ha restituito un valore, tale valore verrà utilizzato nel punto in cui è stata chiamata la funzione.

Come si scrive una funzione?

Esistono molti modi diversi per scrivere funzioni. La sintassi esatta dipenderà dal linguaggio in cui stai programmando. Mostreremo esempi in Python, JavaScript e C++ per dimostrare una gamma di sintassi di programmazione.



Correlati: Perché i linguaggi di programmazione non possono esistere senza funzioni?

Funzioni di vuoto

Il primo tipo di funzione che esamineremo è una funzione void. Ciò significa semplicemente che la funzione non restituisce un valore. Le funzioni Void vengono utilizzate per completare una serie di istruzioni. In questi esempi, la funzione che abbiamo scritto si chiama ciaoFunzione . Lo scopo della funzione è di emettere 'Hello World'.





SUGGERIMENTO: assegnare alle funzioni nomi che spieghino cosa fanno. Sarà più facile gestire le funzioni e leggere il codice man mano che il tuo programma diventa più complesso.

Pitone





def helloFunction():
print('Hello World')
helloFunction()

La parola chiave def è usato in Python per definire e creare una funzione. Successivamente, è il nome della funzione. Le istruzioni nella funzione seguono nella riga successiva dopo i due punti. Gli spazi bianchi sono importanti in Python, quindi assicurati di indentare tutto il codice che vuoi che la tua funzione esegua. Nell'esempio sopra, la funzione esegue una riga di codice.

I tuoi occhi acuti potrebbero averlo notato Stampa() è anche una funzione, ma è chiamata in modo diverso dalla nostra funzione. Tieni duro questo pensiero in questo momento, esploreremo le funzioni e i parametri in seguito.

JavaScript

puoi aggiustare un pixel morto?
function helloFunction(){
alert('Hello World!');
}
helloFunction();

In JavaScript, la parola chiave funzione viene utilizzato per creare funzioni. Successivamente, abbiamo il nome della funzione. Qualsiasi codice compreso tra parentesi graffe viene eseguito quando viene chiamata la funzione.

Lo spazio bianco non è importante in JavaScript, ma è consuetudine far rientrare il codice nella funzione. L'indentazione rende il codice più facile da leggere, il che è molto importante man mano che i programmi diventano più complessi.

Nota: molto simile Stampa() nell'esempio precedente, mettere in guardia() è anche una funzione.

C++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

Le funzioni vengono create in modo diverso in C++. Invece di una parola chiave per definire una funzione, la prima parola descrive il tipo di dati che la funzione restituirà. In questo caso, la nostra funzione non restituisce alcun dato, quindi i dati sono nulli. Successivamente, abbiamo il nome della funzione. Simile a JavaScript, tutto il codice tra le parentesi graffe viene eseguito quando viene chiamata la funzione. Analogamente a JavaScript, lo spazio vuoto non influisce sulla funzione, ma è una buona pratica.

Hai individuato un'altra funzione nel codice C++? Sì, principale() è una funzione. Quando esegui un programma C++, chiami automaticamente la funzione principale. Quando la funzione principale è completata con successo, restituisce 0 quando esce dal programma per segnalare che non si sono verificati errori durante l'esecuzione del programma.

Funzioni che richiedono valori

Le funzioni Void sono ottime se ti accorgi di scrivere lo stesso bit di codice più e più volte. Ma possono essere limitanti. Sono statici e non cambiano. Completano sempre le stesse istruzioni. Un modo per aumentare la loro utilità è passare valori diversi alla funzione.

Avrai notato che le parentesi seguono i nomi di tutte le nostre funzioni. Tra parentesi possiamo dichiarare che i dati sono necessari per eseguire la nostra funzione. Quindi possiamo usare i dati passati alla nostra funzione nella funzione. Diamo ancora un'occhiata agli esempi precedenti, ma questa volta passiamo la frase che vogliamo che venga emessa.

Pitone

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Ora, tra le parentesi, la nostra funzione dichiara che ha bisogno di una variabile per essere eseguita. Abbiamo chiamato la variabile nuovaFrase e ora possiamo usarlo nella nostra funzione. Quando chiamiamo la funzione, dobbiamo passare le informazioni richieste inserendole tra parentesi. Le stesse modifiche sono state apportate in JavaScript.

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C++

come fare un rimborso su steam
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

La nostra funzione C++ richiedeva qualche informazione in più. Sappiamo che la tua funzione vuole dati stringa, ma non è abbastanza buono per C++. Quando crei la tua funzione devi specificare quale tipo di dati richiede la tua funzione. Se non invii il tipo corretto di dati, la funzione creerà un errore.

Questo potrebbe sembrare un po' fastidioso, ma le lingue rigorose possono spesso farti risparmiare il mal di testa. Se scrivi una funzione in JavaScript che richiede un numero intero, ma il numero viene inviato come stringa, può creare un bug molto difficile da rintracciare.

Correlati: 5 linguaggi di programmazione funzionale che dovresti conoscere

Funzioni che restituiscono un valore

L'ultima capacità della funzione che tratteremo è la restituzione dei dati. Ciò è particolarmente utile quando si desidera modificare i dati prima di utilizzarli. Sebbene tu possa scriverlo in linea, se utilizzerai gli stessi calcoli molte volte, come la conversione da imperiale a metrico, potrebbe avere più senso scriverlo come una funzione. Il nostro esempio sarà più semplice. La nostra funzione richiederà due interi e restituirà la somma.

Pitone

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

In questo esempio, la nostra funzione richiede due variabili invece di una. Lo indichiamo separando i nomi delle nostre variabili con una virgola. La parola chiave Restituzione dice alla funzione di restituire i seguenti dati, in questo caso, 2 + 4, o 6. Chiamiamo la funzione all'interno di Stampa() funzione.

Una volta che il nostro programma fosse arrivato a quella riga, si sarebbe fermato, avrebbe eseguito la nostra funzione e poi avrebbe continuato come se aggiuntaFunzione(2, 4) era in realtà solo il valore restituito 6.

JavaScript

Il codice JavaScript è molto simile al codice Python. La differenza principale è che la funzione viene chiamata in un avviso.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

Il codice C++ funziona in modo simile, ma come al solito richiede qualche informazione in più. Innanzitutto, dobbiamo dire che tipo di dati restituirà la nostra funzione. Vedrai che vuoto è stato cambiato in int . Ciò significa che invece di non restituire alcun dato, la nostra funzione restituirà un numero intero. Oltre a ciò, il codice è simile al codice che abbiamo già esplorato.

Gestisci le tue funzioni

Una cosa divertente delle funzioni è che le funzioni possono chiamare altre funzioni. Possono persino chiamarsi! Ma da un grande potere derivano grandi responsabilità. Non impazzire creando codice con funzioni che chiamano altre funzioni che chiamano ancora più funzioni.

Come accennato, ogni volta che viene chiamata una funzione, il programma si interrompe mentre esegue la funzione. Ciò significa che il programma è tenuto nella memoria attiva. Se chiami più funzioni senza completarle, stai utilizzando più memoria attiva. Se non stai attento, il tuo programma può sfuggire di mano.

Condividere Condividere Tweet E-mail Come mantenere pulito il codice con l'incapsulamento di oggetti

Le variabili globali possono sembrare semplici, ma spesso sono la causa di tanti bug. Ecco come semplificare il codice con l'incapsulamento.

Leggi Avanti
Argomenti correlati
  • Programmazione
  • Programmazione
  • Programmazione funzionale
Circa l'autore Jennifer Seaton(21 articoli pubblicati)

J. Seaton è uno scrittore scientifico specializzato nell'analisi di argomenti complessi. Ha un dottorato di ricerca presso l'Università del Saskatchewan; la sua ricerca si è concentrata sull'utilizzo dell'apprendimento basato sul gioco per aumentare il coinvolgimento degli studenti online. Quando non lavora, la troverai mentre legge, gioca ai videogiochi o fa giardinaggio.

Altro da Jennifer Seaton

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti