Documentos de Académico
Documentos de Profesional
Documentos de Cultura
por
Jhonny Felipez
Universidad Mayor de San Andrés
Contenido
O Función
O Argumentos
O Parámetros
O Retorno de valores
O Múltiples Parámetros y/o Argumentos
O Alcance de las variables
O Funciones Anónimas
2
Función
3
Sentencias almacenadas (y
reutilizadas)
… def a():
a() print(“Hola”)
x= x+1 print(“Amigo”)
a()
…
5
Definición de una función
O En Python, una función es un código
reutilizable que toma cero o más
argumentos como entrada, realiza alguna
tarea y luego devuelve cero o más
resultados.
O Definimos una función usando la palabra
reservada def
O Llamamos a la función usando el nombre de
la función, paréntesis y argumentos.
6
Función pow
Una función es un
código almacenado que
c = pow(2,3)
se utiliza. Una función
toma alguna entrada y
8 produce una salida.
2y3 Función 8
(números) pow() (un número)
7
Construyendo nuestras
propias funciones
O Creamos una nueva función utilizando la
palabra clave def seguida de parámetros
opcionales entre paréntesis.
O Le damos sangría al cuerpo de la función
(grupo de sentencias).
O La sintaxis de una definición de función es:
9
Definiciones y Usos
O Una vez que hemos definido una función,
podemos llamarla (o invocarla) tantas veces
como queramos
x = 3 El factorial de 3 es 6
y = 1
def fact(n):
f = 1
for i in range(1,n+1):
f = f * i
return f
y = fact(x)
print("El factorial de", x, "es", y)
10
Argumentos
11
Argumentos
O Un argumento es un valor que se pasa a la
función como su entrada, cuando se llama a
la función.
O Se coloca los argumentos entre paréntesis
después del nombre de la función.
c = pow(2,3)
Argumentos
12
Parámetros
13
Parámetros
O Un parámetro es una variable que se utiliza
en la definición de la función que permite
que el código de la función acceda a los
argumentos de una función en particular.
Parámetro
def esPar(n):
if n % 2 == 0:
return True
else:
return False
print(esPar(6)) 14
Parámetros opcionales
O Las funciones pueden tener parámetros
opcionales, también llamados parámetros
predeterminados.
O Los parámetros predeterminados son
parámetros que no tienen que darse, si se
llama a la función. En este caso, se utilizan
los valores por defecto.
15
Ejemplos de parámetros
opcionales
def suma(a, b = 0): 3
return a+b 5
suma(3)
suma(3,2)
16
Retorno de valores
17
Retorno de valores
O A menudo, una función tomará sus
argumentos, realizará algunos cálculos y
retornará un valor que se utilizará como el
valor retornado de la función. La palabra
clave return se utiliza para ello.
def esPar(n): True
if n % 2 == 0:
return True
else:
return False
print(esPar(6))
18
Argumentos, parámetros y
resultados
print(esPar(6)) Parámetro
def esPar(n):
if n % 2 == 0:
6 return True True
else:
return False
Argumento Resultado
19
Retornando Múltiples
Valores
O Una función de Python puede retornar
múltiples valores.
def division(a,b):
return a//b, a%b
c,r = division(5,2)
print(c,r)
20
Funciones nulas (no
fructíferas)
O Cuando una función no devuelve un valor,
se denomina una función "nula"
O Las funciones que devuelven valores son
funciones "fructíferas".
def suma(a,b):
print(a+b)
return None
Función nula
def suma(a,b):
return a+b Función fructífera
21
Múltiples Parámetros y/o
Argumentos
22
Múltiples Parámetros y/o
Argumentos
O Se puede definir más de un parámetro en la
definición de la función, para esto
simplemente se agrega más argumentos
cuando se llama a la función.
O Se tiene que hacer coincidir el número y
orden de los argumentos y parámetros.
def suma(a,b):
return a+b
print(suma(3,2))
23
Alcance de las variables
24
Alcance de las variables
O Es posible que no se pueda acceder a todas
las variables de un programa en todas las
ubicaciones del programa. Esto depende de
donde se haya declarado una variable.
25
Ámbito de las Variables
O El alcance de una variable determina la
parte del programa donde se puede acceder
a un identificador particular. Hay dos
ámbitos básicos de las variables en Python:
O Variables globales
O Variables locales
26
Variables Globales
O Una variable que está definida fuera de una
función tienen un alcance global.
27
Ejemplo
#-*- coding: utf-8 -*-
s = 0 # Esta es una variable global libre.
suma(2, 3)
print("(Fuera de la función) s global = ", s)
28
Variables Locales
Una variable local está definida dentro del
cuerpo de una función y no se puede usar de
nuevo cuando la función ha terminado de
ejecutarse porque existe solo dentro de la
función.
29
Variables globales libres
Si a una variable global no se le asigna valor
en una función, Python la considera libre y
busca su valor en los niveles superiores de
esa función, empezando por el
inmediatamente superior y continuando hasta
el programa principal.
30
Variables declaradas global
Si queremos asignar valor a una variable
global en una subrutina, pero no queremos
que Python la considere local, debemos
declararla en la función como global.
31
Ejemplo
def suma():
global s # s es una variable global
s = a + b # a y b son variables globales libres
a = 2
b = 3
suma()
print("s = ", s)
s = 5
32
Variables declaradas como
nonlocal
Las variables nonlocal se utilizan en una
función que está dentro de alguna función y
donde se requiere cambiar el valor de alguna
variable local de la función externa. Esto
significa que la variable no puede ser ni local
ni global.
33
Ejemplo
def funcion_externa():
x = 2
print("x es", x)
def funcion_interna():
nonlocal x # x es una variable no local
x = 5
funcion_interna()
print("Cambio x local a", x)
funcion_externa()
x es 2
Cambio x local a 5
34
Funciones Anónimas
35
Funciones Anónimas
O La funciones se llaman anónimas porque no
se declaran de manera estándar utilizando
la palabra clave def. Puede utilizar la
palabra clave lambda para crear pequeñas
funciones anónimas.
O Las formas lambda pueden tomar cualquier
número de argumentos pero retornan un
solo valor en forma de una expresión.
36
Funciones Anónimas
O No contienen comandos o expresiones
múltiples.
O Una función anónima no puede ser una
llamada directa a imprimir porque lambda
requiere una expresión.
O Las funciones lambda no pueden acceder a
otras variables que no sean sus parámetros
o sean variables globales.
37
Ejemplo
suma = lambda a, b: a + b
Suma = 5
Suma = 13
38
Bibliografía
O https://docs.python.org/3/reference/compo
und_stmts.html#function-definitions
O https://docs.python.org/3/reference/expres
sions.html#lambda
39
Gracias