Funcions
1. Definició de funcions
Nota: Recordeu làmbit de les variables, ja que hi haurà variables locals a la funció.
2. Arguments
2.1. Valors per defecte
Els arguments de les funcions poden tindre un valor per defecte. En cas de no assignar-li un valor per defecte, necessitem fer la crida passant-li el valor de l'argument.
Python | |
---|---|
La crida a la funció la podem fer sense arguments, amb un o amb dos. És una forma de fer una sobrecàrrega de mètodes de forma molt ràpida.
Python | |
---|---|
2.2. Nombre arbitrari d'arguments
Si no sabem a priori quants arguments rebrà la funció, podem utilitzar el caràcter "*" en la definició de la funció.
Python | |
---|---|
3. Funcions recursives
La recursió és el procés de definir alguna cosa en termes d'eixa mateixa cosa. Aleshores, una funció recursiva és aquella que es crida a sí mateix. S'ha d'anar molt en compte en crear correctament la condició d'eixida de la funció, ja que d'altra forma entrariem en bucle infinit.
Python | |
---|---|
4. Funcions anònimes
Les funcions anònimes o funcions lambda, són funcions sense nom. Poden tindre un nombre indeterminat d'arguments, però sols una expressió, que serà avaluada i retornat el seu resultat.
Normalment les funcions lambda s'utilitzen en combinació amb altres funcions com filter(), map(), etc.
La funció map() rep com a arguments una funció i una llista, i torna una llista del mateix tamany on cada element és el resultat d'aplicar la funció sobre l'element que ocupa la mateixa posició a la llista original.
La funció filter(), rep una funció i una llista com a arguments, i torna com a resultat una llista amb els elements que avaluen a True la funció.
Python | |
---|---|
4.1. Activitat 10
Definix una llista i utilitzant filter, que la separe en dues llistes, una amb els elements parells i l'altra amb els senars.
5. Packages
Igual que la informació al disc dur està organitzada en carpetes i subcarpetes, un programa en Python es pot organitzar en paquets, sub paquets i mòduls. Açò fa un programa més fàcil de gestionar i conceptualment més clar. Una carpeta ha de contindre un arxiu anomenat __init__.py. Este arxiu pot estar buit o no, però normalment conté codi d'inicialització.
Per a importar un mòdul d'un paquet utilitzariem import o from ... import.
Construcció de paquets propis
Parlarem de com construir paquets propis més endavant al llarg d'este curs.