Funciones / Notas de Python
Funciones / Notas de Python
la ejecución para que ejecute su tarea. Sirven para simplificar el código del
programa y abstraerlo, al este no requerir ser repetido, almenos no por lo general.
Reciben un parámetro de entrada entre ( ) y devuelven una salida.
Permiten modularizar el programa y desarrollar los distintos sectores del código
por separado, y de una manera mas simple.
## Min y Max
- **Min:** devuelve el valor mas bajo de un iterable.
- **Max:** devuelve el valor mas alto de un iterable.
- Si se les pasa de dato un String devolverán una excepción, ósea un Error.
Ej:
```Python
numeros = [4,7,1,42,15]
## Round
- Redondea el numero que le pasemos como parámetro.
- También es posible darle un segundo parámetro especificando después de una coma,
la cantidad de decimales en el resultado, de no dárselo la función redondeara a un
numero entero y no habrá decimales en el resultado.
Ej:
```Python
# Redondeando un numero de 6 decimales en un numero entero.
numero = round(12.345678)
print(numero)
# Rta: 12
## Bool
- Retorna False si se le pasa de parámetro --> 0 - un elemento vacío(ejemplo lista
vacía) - False - None.
- Retorna True si se le pasa de parámetro --> Un numero distinto de 0 - True -
Cadena de texto - Datos no vacíos(ejemplo lista con elementos)
```Python
# Retorna False -> Numero = 0 - Elemento vacio(Ej:lista vacia) - False - None /
True -> Numero distinto de 0 - True - Cadena de texto - Elementos no
vacios(Ej:tupla con datos)
# [ Respuesta = False: ]
resultado_bool = bool([])
print(resultado_bool)
# [ Respuesta = True: ]
resultado_bool = bool([25,37,'patata'])
print(resultado_bool)
```
## All
Hace lo opuesto a Bool(), envés de chequear un solo elemento para ver si es
Verdadero o Falso, lo que hace All es chequear todos los elementos de un iterable y
si todos estos son Verdaderos el resultado será Verdadero, pero si aunque sea uno
solo de los elementos del iterable es Falso la función devolverá Falso, sin
importar que todo el resto de elementos sean verdaderos.
### Ej:
#### Tabla de valores:
- Retorna False si se le pasa de parámetro --> 0 - un elemento vacío(ejemplo lista
vacía) - False - None.
- Retorna True si se le pasa de parámetro --> Un numero distinto de 0 - True -
Cadena de texto - Datos no vacíos(ejemplo lista con elementos)
```Python
# [ Respuesta = True: ]
resultado_all = all([10,"True",[134,544]])
print(resultado_all)
# [ Respuesta = False: ]
resultado_all = all([None,"True",[134,544]])
print(resultado_all)
```
## Sum
- La función sum() suma todos los valores dentro de un iterable. Si se le pasa de
dato un String devolverá una excepción, ósea un Error.
Ej:
```Python
numeros = [4,7,1,42,15]
suma_total = sum(numeros)
print(suma_total)
# Respuesta = 69
```
---
# Funciones propias
Son funciones creadas por nosotros los desarrolladores con el fin de mejorar
nuestro código, volviéndolo menos enrevesado y por consecuencia mas legible.
Ej:
```Python
# Creando una funcion simple
def saludar():
print("Hola master, como andas?")
# Ejecutando la funcion
saludar()
saludar()
saludar()
saludar()
saludar()
# [ Rta: ]
Ej:
```Python
# Creando funcion con parametros
def saludar(nombre):
print(f"Hola {nombre}, como andas master?")
# Ejecutando la funcion
saludar("Juan")
# Rta: Hola Juan, como andas master?
```
Ej:
```Python
# Creando funcion con varios aparametros
def saludar(nombre,sexo):
sexo = sexo.lower()
if (sexo == "mujer"):
adjetivo = "reina"
elif (sexo == "hombre"):
adjetivo = "titan"
else:
adjetivo = "amor"
print(f"Hola {nombre}, como andas mi {adjetivo}?")
saludar("Pedro","hombre")
saludar("Camila","mujer")
saludar("Patata","patata")
# [ Rta: ]
# Hola Pedro, como andas mi titan?
# Hola Camila, como andas mi reina?
# Hola Patata, como andas mi amor?
```
Ej:
```Python
def crear_contraseña_random(num):
chars = "abcdefghij" # Define una lista de caracteres
num_entero = str(num) # Convierte el numero de entrada en string
num = int(num_entero[0]) # Convierte en int el primer caracter del string
c1 = num - 2
c2 = num # Se crea una serie de numeros random a partir de la entrada
c3 = num - 5
contraseña = f"{chars[c1]}{chars[c2]}{chars[c3]}{num*2}"
# Se crea una contraseña aleatoria con los numeros random
return contraseña # Se devulve el resultado con return
Ej:
```Python
# Funcion que multiplica 2 numeros a la vez x2.
def mult_2num_x2(a,b):
a = a*2
b = b*2
return [a,b]
```Python
def suma(lista):
numeros_sumados = 0
for num in lista:
numeros_sumados = numeros_sumados + num
return numeros_sumados
resultado = suma([10,25,6])
print(resultado)
# Respuesta = 41
```
Ej:
```Python
# Forma optima de sumar valores, con el operador *args dentro de la funcion.
def suma_total(numeros)
return sum([*numeros])
resultado2 = suma_total(10,25,6)
print(resultado2)
# Respuesta = 41
# Forma optima de sumar valores, pero utilizando el operador (*args) como argumento
de la funcion
def suma(nombre,*numeros):
return f"{nombre}, la suma de tus numeros es: {sum(numeros)}"
resultado = suma("Juan",10,25,6)
print(resultado)
# Respuesta = Juan, la suma de tus numeros es: 41
```
---
# Funciones lamda
Lambda es una forma para crear una función anónima, ósea sin nombre. Y que
significa esto? Significa que podemos saltarnos el proceso del def y definir una
función en una única linea de código, enlazándola a una variable. Lo cual es
extremadamente beneficioso a la hora de ahorrar tiempo al momento de escribir el
código, ya que nos saltamos varios pasos al momento de definir una función simple,
además del hecho de que retornan de forma automática, sin necesidad de la sentencia
return. Aunque hay que tener en cuenta el hecho de que esto sirve solo para
funciones simples, ya que si necesitamos una función con mas instrucciones
deberemos volver a usar la sintaxis del def, debido a la limitación de una única
linea de código lo cual la hace poco apta para esta tarea.
Ej:
```Python
# Funcion definida en modo tradicional
def funcion_tradicional(x):
return x*2
print(funcion_tradicional(5)) # [ Rta ] = 10
print(funcion_lambda(5)) # [ Rta ] = 10
```
#### Ejemplo de ahorrar espacio en una función que retorna que números son pares
con filter().
```Python
numeros = [1,2,3,4,5,6,7,8,9]
print(list(numeros_pares))
# Respuesta = [2,4,6,8]
print(list(numeros_pares))
# Respuesta = [2,4,6,8]
```
---
saltar()
print('Hola')
# RTA: Hola
```
En cambio para detener la ejecución del código debemos usar la sentencia break, que
detendrá por completo la ejecución del mismo.
```Python
def detener():
break
detener()
print('Hola')
# RTA:
```
---
Anterior: [[200_-_Memoria_Digital/Programacion/Cursos/Python/Bucles|Bucles]]
Siguiente: [[200_-_Memoria_Digital/Programacion/Cursos/Python/Modulos|Modulos]]
#programacion #Python