Què és una funció en la programació?

Què és una funció en la programació?

Sovint us trobeu copiant i enganxant el codi per tornar-lo a utilitzar en diferents seccions del vostre programa?





Si és així, us recomanem que utilitzeu funcions. Les funcions són una característica molt potent dels llenguatges de programació. Poden fer que el codi sigui més eficient, més fàcil de llegir i elegant.





Què és una funció?

Una funció és un bloc de codi que realitza una tasca. Es pot trucar i reutilitzar diverses vegades. Podeu passar informació a una funció i aquesta pot tornar-la. Molts llenguatges de programació tenen funcions integrades a les quals podeu accedir a la seva biblioteca, però també podeu crear les vostres pròpies funcions.





Quan truqueu a una funció, el programa posarà en pausa el programa actual i executarà la funció. La funció es llegirà de dalt a baix. Un cop finalitzada la funció, el programa continua executant-se allà on s’havia aturat. Si la funció va retornar un valor, aquest valor s'utilitzarà on es va cridar la funció.

Com s'escriu una funció?

Hi ha moltes maneres diferents d’escriure funcions. La sintaxi exacta dependrà del llenguatge en què estigueu programant. Mostrarem exemples en Python, JavaScript i C ++ per demostrar una gamma de sintaxi de programació.



Relacionat: Per què els llenguatges de programació no poden existir sense funcions

Funcions del buit

El primer tipus de funció que veurem és una funció buida. Això significa simplement que la funció no retorna cap valor. Les funcions del buit s’utilitzen per completar un conjunt d’instruccions. En aquests exemples s’anomena la funció que hem escrit holaFunció . El propòsit de la funció és generar 'Hello World'.





SUGGERIMENT: doneu noms de funcions que expliquin què fan. Serà més fàcil gestionar funcions i llegir el codi a mesura que el vostre programa sigui més complex.

Python





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

La paraula clau def s'utilitza a Python per definir i crear una funció. A continuació, es mostra el nom de la funció. Les instruccions de la funció segueixen la següent línia després dels dos punts. L’espai en blanc és important a Python, així que assegureu-vos de sagnar tot el codi que vulgueu que s’executi la vostra funció. A l'exemple anterior, la funció executa una línia de codi.

Els vostres ulls aguts podrien haver-ho notat imprimir() també és una funció, però s’anomena de manera diferent a la nostra funció. Mantingueu aquest pensament ara mateix, explorarem les funcions dels paràmetres més endavant.

JavaScript

El vídeo amazon prime no funciona a la televisió
function helloFunction(){
alert('Hello World!');
}
helloFunction();

A JavaScript, la paraula clau funció s’utilitza per crear funcions. A continuació, tenim el nom de la funció. Qualsevol codi que es trobi entre claudàtors s'executa quan es crida la funció.

L’espai en blanc no és important a JavaScript, però és habitual sagnar el codi a la funció. La sagnia facilita la lectura del codi, cosa que és molt important a mesura que els vostres programes es tornen més complexos.

Nota: Molt semblant imprimir() a l'exemple anterior, alert () també és una funció.

C ++

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

Les funcions es creen de manera diferent a C ++. En lloc d'una paraula clau per definir una funció, la primera paraula descriu el tipus de dades que retornarà la funció. En aquest cas, la nostra funció no retorna cap dada, de manera que les dades són nul·les. A continuació, tenim el nom de la funció. De manera similar a JavaScript, tot el codi entre claudàtors s’executa quan es crida la funció. De manera similar a JavaScript, l’espai en blanc no afecta la funció, però és una bona pràctica.

Heu detectat una altra funció al codi C ++? Sí, main () és una funció. Quan executeu un programa C ++, crideu automàticament a la funció principal. Quan la funció principal es completa correctament, retorna 0 ja que surt del programa per indicar que no hi ha hagut errors en executar el programa.

Funcions que requereixen valors

Les funcions de buit són fantàstiques si constateu que escriviu el mateix bit de codi una vegada i una altra. Però poden ser limitants. Són estàtics i no canvien. Sempre compleixen les mateixes instruccions. Una manera de millorar la seva utilitat és passar diferents valors a la funció.

Haureu notat que els claudàtors seguien els noms de totes les nostres funcions. Entre claudàtors, podem declarar que calen dades per executar la nostra funció. A continuació, podem utilitzar les dades transmeses a la nostra funció a la funció. Vegem de nou els exemples anteriors, però aquesta vegada passem la frase que volem publicar.

Python

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

Ara, entre claudàtors, la nostra funció declara que necessita una variable per executar-se. Hem anomenat la variable newPhrase i ara el podem utilitzar en la nostra funció. Quan cridem a la funció, hem de passar la informació sol·licitada col·locant-la entre claudàtors. Els mateixos canvis es van fer a JavaScript.

JavaScript

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

C ++

com trobar el vostre número de telèfon
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

La nostra funció C ++ requeria una mica més d’informació. Sabem que la vostra funció vol dades de cadenes, però això no és prou bo per a C ++. Quan creeu la funció, heu d'especificar quin tipus de dades requereix la vostra funció. Si no envieu el tipus de dades correcte, la funció crearà un error.

Pot semblar una mica molest, però els idiomes estrictes sovint us poden estalviar maldecaps. Si escriviu una funció a JavaScript que requereix un nombre enter, però el número s’envia com una cadena, es pot crear un error que és molt difícil de localitzar.

Relacionat: 5 llenguatges de programació funcionals que hauríeu de conèixer

Funcions que retornen un valor

La funció final que cobrirem és la de retornar dades. Això és particularment valuós quan es volen modificar les dades abans d’utilitzar-les. Tot i que podríeu escriure aquesta línia, si feu servir els mateixos càlculs moltes vegades, com convertir imperial a mètric, pot ser que tingui més sentit escriure-ho com a funció. El nostre exemple serà més senzill. La nostra funció requerirà dos enters i retornarà la suma.

Python

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

En aquest exemple, la nostra funció requereix dues variables en lloc d’una. Ho indiquem separant els nostres noms de variables amb una coma. La paraula clau tornar indica a la funció que retorni les dades següents, en aquest cas, 2 + 4 o 6. Anomenem la funció dins del fitxer imprimir() funció.

Un cop el nostre programa arribés a aquesta línia, s'hauria aturat, executat la nostra funció i després continuaria com si addicióFunció (2, 4) en realitat només era el valor retornat 6.

JavaScript

El codi JavaScript és molt similar al codi Python. La diferència principal és que la funció es crida en una alerta.

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;
}

El codi C ++ funciona de manera similar, però, com és habitual, requereix una mica més d’informació. En primer lloc, hem de dir quin tipus de dades retornarà la nostra funció. Ja ho veureu buit s'ha canviat a int . Això significa que en lloc de retornar cap dada, la nostra funció retornarà un nombre enter. Més enllà d’això, el codi és similar al que ja hem explorat.

Gestioneu les vostres funcions

Una cosa divertida de les funcions és que les funcions poden anomenar altres funcions. Fins i tot es poden autodenominar! Però amb un gran poder arriba una gran responsabilitat. No us torneu boig creant codi amb funcions que criden a altres funcions que criden encara més funcions.

Com s’ha esmentat, cada vegada que es crida una funció, el programa s’atura mentre s’executa la funció. Això significa que el programa es manté en memòria activa. Si crideu a diverses funcions més sense completar-les, feu servir memòria més activa. Si no teniu cura, el vostre programa us pot sortir de les mans.

Compartir Compartir Tweet Correu electrònic Com mantenir net el vostre codi amb l’encapsulament d’objectes

Les variables globals poden semblar simples, però sovint són la causa de tants errors. A continuació s’explica com racionalitzar el codi amb l’encapsulació.

Llegiu a continuació
Temes relacionats
  • Programació
  • Programació
  • Programació funcional
Sobre l'autor Jennifer Seaton(21 articles publicats)

J. Seaton és un escriptor científic especialitzat en la descomposició de temes complexos. És doctora per la Universitat de Saskatchewan; la seva investigació es va centrar a utilitzar l'aprenentatge basat en jocs per augmentar la implicació dels estudiants en línia. Quan no treballa, la trobareu amb ella llegint, jugant a videojocs o fent jardineria.

Més de Jennifer Seaton

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us