Funciones Python
Funciones Python
Funciones Python
def nombre_funcion(parametros):
contenido
qué significa:
• def es una palabra reservada que indica a Python que una nueva función está siendo definida.
• Luego viene una función con un nombre válido de tu elección. Los nombres válidos empiezan
con una letra o un guion bajo, pero pueden incluir números. Las palabras suelen ser
minúsculas y separadas por guiones bajos. Es importante saber que los nombres de función no
pueden ser palabras reservadas de Python.
• Luego, tenemos los paréntesis, (). Al interior de ellos, puede haber cero, uno, o más
parámetros opcionales, separados por coma con sus valores predeterminados. Estos valores
son pasados a la función.
• A continuación los dos puntos, :, los cuales finalizan la definición de la función.
def hola_mundo_func():
print("hola mundo")
Una vez has definido una función, el código no se ejecutará por sí solo.
Para ejecutar el código dentro de la función, tienes que hacer una invocación de la función, o
una llamada a la función.
Puedes llamar a la función tantas veces como lo desees.
nombre_funcion(argumentos)
A continuación, un desglose del código:
• El nombre de la función tiene que ser seguido de paréntesis. Si hay algunos argumentos
requeridos, tienen que ser pasados en paréntesis. En caso de que la función no tome ningún
argumento, siempre necesitarás usar paréntesis.
Los parámetros son el marcador de posición que transfiere la información a las funciones. Sirven
cómo variables definidas localmente en la función.
def saludo(nombre):
print("Hola " + nombre)
Podríamos haber usado f-string formatting (formato f-string) en su lugar, funciona de la misma manera
que en el ejemplo anterior:
def saludo(nombre):
print(f"Hola + {nombre}")
Puede haber una lista de parámetros adentro del paréntesis, todos separados por comas.
def nombre_y_edad(nombre,edad):
print(f"Soy {nombre} y tengo{edad} años!")
Los argumentos, igual que los parámetros, son información transferida a las funciones.
Específicamente, son los valores actuales que corresponden a los parámetros en la definición de la
función.
Llamando a la función desde un ejemplo anterior, y evaluando un argumento, el resultado debería ser
el parecido al siguiente:
def saludo(nombre):
print(f"Hola {nombre}")
saludo("Timmy")
#Resultado
# Hola Timmy
La función puede ser llamada varias veces, pudiendo ser sus valores, diferentes en cada ocasión.
def saludo(nombre):
print(f"Hola {nombre}")
saludo("Timmy")
saludo("Kristy")
saludo("Jackie")
saludo("Liv")
#Resultados:
#"Hola Timmy"
#"Hola Kristy"
#"Hola Jackie"
#"Hola Liv"
Las funciones te permiten crear soluciones más modulares y DRY para problemas complejos.
Si bien Python ya proporciona muchas funciones integradas como print() y len(), también puedes
definir tus propias funciones para usar en tus proyectos.
Notas
Si la definición de una función incluye parámetros, debe proporcionar el mismo número de parámetros
cuando llame a la función.
print(multiplica(3)) # TypeError: multiplica() utiliza exactamente 2 argumentos (0 proporcionados)
El bloque de código que ejecutará la función incluye todas las declaraciones con indentación dentro de
la función.
def miFunción():
print('this will print')
print('so will this')
x=7
# la asignación de x no es parte de la función ya que no está indentada
Las variables definidas dentro de una función solo existen dentro del ámbito de esa función.
def duplica(num):
x = num * 2
return x
Python interpreta el bloque de funciones solo cuando se llama a la función y no cuando se define la
función. Por lo tanto, incluso si el bloque de definición de función contiene algún tipo de error, el
intérprete de Python lo señalará solo cuando se llame a la función.
Función max()
max() es una función incorporada en Python 3. Devuelve el elemento más grande en un iterable o el
más grande de dos o más argumentos.
Argumentos
Esta función toma dos o más números o cualquier tipo de iterable como argumento. Mientras damos
un iterable como argumento, debemos asegurarnos de que todos los elementos del iterable sean del
mismo tipo. Esto significa que no podemos pasar una lista que tenga almacenados valores enteros y de
cadena. Sintaxis: max (iterable, * iterables [, clave, predeterminado]) max (arg1, arg2, * args [, clave])
Argumentos válidos:
max(2, 3)
max([1, 2, 3])
max('a', 'b', 'c')
Argumentos inválidos:
max(2, 'a')
max([1, 2, 3, 'a'])
max([])
Valor devuelto
Se devuelve el elemento más grande del iterable. Si se proporcionan dos o más argumentos
posicionales, se devuelve el mayor de los argumentos posicionales. Si el iterable está vacío y no se
proporciona el valor predeterminado, se genera un ValueError.
Código de ejemplo:
print(max(2, 3)) # Devuelve 3 ya que 3 es el mayor de los dos valores
print(max(2, 3, 23)) # Devuelve 23 ya que 23 es el mayor de todos los valores
list1 = [1, 2, 4, 5, 54]
print(max(list1)) # Devuelve 54 ya que 54 es el valor más grande de la lista
list2 = ['a', 'b', 'c' ]
print(max(list2)) # Devuelve 'c' ya que 'c' es el valor más grande en la lista porque 'c' tiene un valor ascii mayor
que 'a' ,'b'.
list3 = [1, 2, 'abc', 'xyz']
print(max(list3)) # Se genera TypeError ya que los valores en la lista son de tipos diferentes
#Soluciona el TypeError mencionado anterioremente antes de continuar con el siguiente paso
list4 = []
print(max(list4)) # Se genera ValueError ya que el argumento está vacío
Función min()
min() es una función incorporada en Python 3. Devuelve el elemento más pequeño en un iterable o el
más pequeño de dos o más argumentos.
Argumentos
Esta función toma dos o más números o cualquier tipo de iterable como argumento. Mientras damos
un iterable como argumento, debemos asegurarnos de que todos los elementos del iterable sean del
mismo tipo. Esto significa que no podemos pasar una lista que tenga almacenados valores enteros y de
cadena.
Argumentos válidos:
min(2, 3)
min([1, 2, 3])
min('a', 'b', 'c')
Argumentos inválidos
min(2, 'a')
min([1, 2, 3, 'a'])
min([])
Valor devuelto
Se devuelve el elemento más pequeño del iterable. Si se proporcionan dos o más argumentos
posicionales, se devuelve el más pequeño de los argumentos posicionales. Si el iterable está
vacío y no se proporciona el valor predeterminado, se genera un ValueError.
Código de ejemplo:
print(min(2, 3)) # Devuelve 2 ya que 2 es el más pequeño de los dos valores
print(min(2, 3, -1)) # Devuelve -1 ya que -1 es el más pequeño de los dos valores
list1 = [1, 2, 4, 5, -54]
print(min(list1)) # Devuelve -54 ya que -54 es el más pequeño de los valores en la lista.
list2 = ['a', 'b', 'c' ]
print(min(list2)) # Devuelve 'a' ya que 'a' es el valor más pequeño de la lissta en orden
alfabético
list3 = [1, 2, 'abc', 'xyz']
print(min(list3)) # Se genera TypeError ya que los valores en la lista son de tipos diferentes
#Soluciona el TypeError mencionado anterioremente antes de continuar con el siguiente paso
list4 = []
print(min(list4)) # Se genera ValueError ya que el argumento está vacío
Función divmod()
divmod() es una función incorporada en Python 3, que devuelve el cociente y el resto al dividir el
número a por el número b. Toma dos números como argumentos a & b. El argumento no puede ser un
número complejo.
Argumentos
Se necesitan dos argumentos a & b: un número entero o un número decimal. No puede ser un número
complejo.
Valor devuelto
El valor de retorno será el par de números positivos que consiste en el cociente y el resto obtenido al
dividir a por b. En el caso de tipos de operandos mixtos, se aplicarán las reglas para los operadores
aritméticos binarios.
Para los argumentos de números enteros, el valor de retorno será el mismo que (a // b, a % b).
Para los argumentos de números decimales, el valor devuelto será el mismo que (q, a % b),
donde q es normalmente math.floor (a / b) pero puede ser 1 menos que eso.
Código de ejemplo:
print(divmod(5,2)) # muestra (2,1)
print(divmod(13.5,2.5)) # muestra (5.0, 1.0)
q,r = divmod(13.5,2.5) # Asigna q=cociente & r=resto
print(q) # muestra 5.0 porque math.floor(13.5/2.5) = 5.0
print(r) # muestra 1.0 porque (13.5 % 2.5) = 1.0
Función len()
len() es una función incorporada en Python 3. Este método devuelve la longitud (el número de
elementos) de un objeto. Toma un argumento x.
Argumentos
Esta función toma un argumento, x. Este argumento puede ser una secuencia (como un string, bytes,
tupla, lista o rango) o una colección (como un diccionario, conjunto o conjunto congelado).
Valor devuelto
Esta función devuelve el número de elementos del argumento que se pasa a la función len().
Retorna el número complejo con el valor real + imag*1j. También convierte una cadena o un número a
un número complejo.
>>> complex(5,1)
(5+1j)
>>> complex('1+5j')
(1+5j)
>>> complex(5j)
5j
>>> complex(1+5j)
(1+5j)
>>> complex(1)(1+0j)
>>> pow(5,2)
25
>>> pow(5,-2)
# Result = 1/25
0.04