Functions¶
Ús de funcions¶
Funcions predefinides:
Crida d’una funció:
nom_de_la_funció(argument_1, argument_2, ...)
Arguments: dades que reben les funcions a la crida a partir de les quals calculen el resultat.
Els arguments són expressions: composició de funcions.
Funcions d’un mòdul:
math.Importar amb from:
>>> from math import sin, pi
>>> r = sin(pi/2) >>> print(r) 1.0
Importar amb import:
>>> import math
>>> r = math.sin(math.pi/2) >>> print(r) 1.0
Llista dels noms definits:
dir().
Definició¶
Una funció de python no sempre és una funció matemàtica, però normalment ho és.
Definició:
def nom_de_la_funció(llista_de_paràmetres): # capçalera sentències # cos return expressió # resultat
El cos és un bloc.
El bloc s’escriu sagnat respecte de la capçalera.
Els paràmetres són noms.
Flux d’execució¶
L’execució d’un programa és seqüencial: una sentència rere l’altra.
Les definicions de funcions no alteren el flux d’execució.
Les crides a funcions l’alteren fent que l’execució continuï per la primera sentència del cos de la funció. Després d’executar la darrera sentència del cos, torna al punt de la crida i continua seqüencialment.
Paràmetres i variables locals¶
Paràmetres: variables que reben el valor dels arguments de la crida.
La llista de paràmetres forma part de la capçalera de la definició de la funció.
Al cos de la funció es poden crear variables (locals).
Tant els paràmetres com les variables són locals: només existeixen en el cos de la funció.
Pila d’execuxió (stack diagram), bloc d’activació (frame) i traça de la pila (traceback o stack trace).
Variables temporals.
Sentència return¶
Sintaxi:
return expressió
Què succeeix si oblidem el
returno oblidem l’expressió: la funció retorna el valorNonede tipusNonetype.returni codi inassolible (dead code).
Funcions que retornen més d’un resultat:
return exp1, exp2, ..., expN
Desenvolupament incremental¶
Composició de funcions¶
Online Python Tutor: geom. Descarregueu el mòdul
geomi proveu-lo.
Tipus funció¶
El tipus funció.
Funcions com a arguments.
Documentació d’una funció: docstring.
String amb triple cometa.