Sesión:
Funciones en
Python
Funciones
def
def nombreFuncion(parametros):
nombreFuncion(parametros):
sentencias
sentencias El cuerpo
return <expresion>
return <expresion>
de
Ejemplo sencillo: la función
debe estar
def cuadrado(x): indentado!
return x*x x es el parámetro de la
¿Cómo lo usamos? función
print cuadrado(3)
a=2+cuadrado(9)
•
Paso de parámetros
def nombreFuncion(parametros):
sentencias
return <expresion>
El paso de parámetros puede ser por copia o
referencia. No se identifica con ninguna palabra
clase el pasaje.
Si el parámetro es inmutable, va por copia
(una constante o una tupla)
Si el parámetro es mutable, v•a por referencia
Paso de Parámetros
Los parámetros pueden pasarse respetando
cantidad y posición.(*1)
Pero Python admite omitir alguno (*2),
definir en la llamada la relación entre el
actual y el formal(*3), o usar una cantidad
variable de parámetros.
•
Paso de Parámetros por copia
def suma(x,y): def pot(x,y=2):
return x + y return x **y
¿Cómo lo ¿Cómo lo usamos?
usamos?
print pot(3)
print suma(3,4) (*2)
(*1)
imprime 9
def suma(x,y):
return x + y
¿Cómo lo
usamos? •
(*3)
print suma(y=5, x=4)
Paso de Parámetros por referencia
def aumento(suel,cant):
suel[0]=suel[0] + cant
¿Cómo lo usamos?
sueldo=[]
[Link](500)
aumento(sueldo,20) sueldo es una lista, por lo tanto es mutable. Se asume
pasaje por referencia
print sueldo[0] •
Variables locales y globales
x=
12
a=13
def mi_funcion(a):
x= 9
a= 10
Variables locales enmascaran las globales
Variables locales y globales
x=
12
a=13
Acceso a las variables globales mediante global
def miFuncion(a):
global x
x= 9
a=
10
Ejemplo
Sumar los elementos de una l ista dada.
def suma(lis):
s=0
for j in range (0, len(lis)):
s= s + lis[j]
suma= s return
suma
li=[]
num=int(input(“ingrese un nro, 0 finaliza”))
while num !=0:
[Link](num)
num=int(input(“ingrese un nro, 0 finaliza”))
print(“la suma de los elementos de la lista es:”, suma(li))
input()