Les funcions són blocs de codi reutilitzables que permeten estructurar millor els programes, evitant la repetició de codi i facilitant la seva comprensió i manteniment. En aquest tema, aprendrem com definir i utilitzar funcions en Python.
Continguts
Què és una Funció?
Una funció és un bloc de codi que només s'executa quan és cridat. Les funcions poden rebre dades, conegudes com a paràmetres, i poden retornar dades com a resultat.
Definició de Funcions
En Python, les funcions es defineixen utilitzant la paraula clau def
, seguida del nom de la funció i parèntesis ()
.
Sintaxi
def nom_de_la_funció(paràmetres): """Documentació opcional de la funció""" cos_de_la_funció return valor_de_retorn
Exemple
def saluda(): """Aquesta funció imprimeix un missatge de salutació.""" print("Hola, benvingut a Python!")
Crida a Funcions
Per cridar una funció, simplement escrivim el nom de la funció seguit de parèntesis.
Exemple
Paràmetres i Arguments
Les funcions poden acceptar paràmetres, que són valors que es passen a la funció quan aquesta és cridada.
Exemple
def saluda_nom(nom): """Aquesta funció imprimeix un missatge de salutació personalitzat.""" print(f"Hola, {nom}!") saluda_nom("Anna") # Això imprimirà: Hola, Anna!
Paràmetres per Defecte
Podem definir valors per defecte per als paràmetres.
def saluda_nom(nom="visitant"): """Aquesta funció imprimeix un missatge de salutació personalitzat amb un valor per defecte.""" print(f"Hola, {nom}!") saluda_nom() # Això imprimirà: Hola, visitant!
Valor de Retorn
Les funcions poden retornar un valor utilitzant la paraula clau return
.
Exemple
def suma(a, b): """Aquesta funció retorna la suma de dos números.""" return a + b resultat = suma(3, 5) print(resultat) # Això imprimirà: 8
Exemples Pràctics
Exemple 1: Funció sense Paràmetres i sense Valor de Retorn
def imprimeix_missatge(): """Aquesta funció imprimeix un missatge.""" print("Això és un missatge.") imprimeix_missatge() # Això imprimirà: Això és un missatge.
Exemple 2: Funció amb Paràmetres i Valor de Retorn
def multiplica(a, b): """Aquesta funció retorna el producte de dos números.""" return a * b producte = multiplica(4, 7) print(producte) # Això imprimirà: 28
Exercicis Pràctics
Exercici 1: Funció de Salutació
Escriu una funció saluda_persona
que accepti un nom com a paràmetre i imprimeixi un missatge de salutació personalitzat.
def saluda_persona(nom): """Aquesta funció imprimeix un missatge de salutació personalitzat.""" print(f"Hola, {nom}!") # Prova la funció saluda_persona("Joan")
Exercici 2: Funció de Càlcul de l'Àrea d'un Rectangle
Escriu una funció area_rectangle
que accepti l'amplada i l'alçada d'un rectangle com a paràmetres i retorni la seva àrea.
def area_rectangle(amplada, alçada): """Aquesta funció retorna l'àrea d'un rectangle.""" return amplada * alçada # Prova la funció area = area_rectangle(5, 10) print(area) # Això hauria d'imprimir: 50
Solucions
Solució Exercici 1
def saluda_persona(nom): """Aquesta funció imprimeix un missatge de salutació personalitzat.""" print(f"Hola, {nom}!") # Prova la funció saluda_persona("Joan") # Això imprimirà: Hola, Joan!
Solució Exercici 2
def area_rectangle(amplada, alçada): """Aquesta funció retorna l'àrea d'un rectangle.""" return amplada * alçada # Prova la funció area = area_rectangle(5, 10) print(area) # Això imprimirà: 50
Conclusió
En aquesta secció, hem après com definir i utilitzar funcions en Python. Les funcions són una eina poderosa per organitzar i reutilitzar codi. Hem vist com definir funcions amb i sense paràmetres, com retornar valors i hem practicat amb alguns exemples i exercicis. En la propera secció, explorarem els arguments de funció amb més detall.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn