Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Funciones Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Funciones Python

¿Qué es una función?


Una función no es más que un bloque de código aislado que lleva a cabo una tarea específica. Las
funciones son muy útiles en programación debido a que eliminan los innecesarios y excesivos ¨copia y
pega¨ de código a través de un programa. Si una acción específica es requerida a menudo en tu código,
es un buen indicador de la necesidad de escribir una función.

Definir una función en Python


La sintaxis general para crear una función en Python es muy parecida a lo siguiente:

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.

• Consiguientemente, es necesaria una nueva línea, seguida por un nivel de identación(pudiendo


usar cuatro espacios con tu keyboard, o bien un espacio con la tecla Tab). La identación es
importante, permite a Python reconocer qué código pertenecerá a la función.

• La siguiente parte de la función representa el "body", o si lo prefieres, su contenido o


estructura. Esta parte contiene las acciones que ejecutará Python cuando la función sea
llamada.
Definir y llamar una función básica en Python
Simplemente imprime "hola mundo" cada vez que es llamado.

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.

Para llamar a la función solo necesitas hacer lo siguiente:

nombre_funcion(argumentos)
A continuación, un desglose del código:

• Escribe el nombre de la función.

• 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.

Definir y Llamar Funciones con Parámetros.


¿Cuál es su definición?

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)

En el ejemplo de arriba, está el parámetro, 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!")

Aquí, los parámetros en la función son nombre y edad.

Cuando una función es llamada, también se transfieren los argumentos.

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"

Introducción a las funciones en Python


Una función te permite definir un bloque de código reutilizable que se puede ejecutar muchas veces
dentro de tu programa.

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)

print(multiplica('a', 5)) # 'aaaaa' mostrado en la consola

print(multiplica('a', 'b')) # TypeError: Python no puede multiplicar dos strings

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

print(x) # error - x no está definida


print(duplica(4)) # muestra 8

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.

Ahora veamos algunas funciones específicas con ejemplos.

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().

Devuelve la longitud (el número de elementos) de un objeto.


>>> len(['a','b','c','d','e'])
5
>>> len('¡Hola, mundo!')
11

Función complex(real, imag)

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)

Función pow(base, exp)

Retorna base elevado a exp.

>>> pow(5,2)

25

>>> pow(5,-2)

# Result = 1/25

0.04

También podría gustarte