Funciones

FUNCIONES EN PYTHON:
Índice de la página:
Descripción.
Funciones Predefinidas.
Buy 1 Sell -1.
lambda.


------------------------------------------------------------------------------- 
Descripción:
##  Sin parámetros
def saludo(): # Define la función saludo (sin parámetros)
   print('Hola a todos')
saludo() # Llamo a la función saludo

## Con parámetros
def suma(uno, dos, tres): # Define la función suma (con parámetros)
   resultado = uno + dos + tres
   return resultado
print(suma( 40, 50, 10) )  # Llamo a la función suma


Funciones Predefinidas:
## Hay muchas más, pero veremos estas 4 (Help), (Dir), (Type), (Str)
uno = {'a':10, 'b':20, 'c':30, 'd':40}
help(uno) # Me da toda la ayuda sobre el objeto Diccionario
print(dir(uno)) # Me da todos los métodos y funciones internas del objeto Diccionario
print(type(uno)) # Me da la clase de objeto que es
uno, dos = 50, 10
print(str(uno) + str(dos) ) # Convierte en texto y luego lo concatenamos



Buy 1 Sell -1:
# Ejercicio 12 de 06_28062019 de fecha 28/06/2019
# Una serie que tenga valor 1 para las operaciones de compra y -1 para las operaciones de venta
def tipo_operacion(op):  
    if op =='buy': 
        return 1 
    else:
        return -1      
df['Type'].apply(tipo_operacion) # con apply aplicamos a todos los valores de la columna 'Type' el retorno de la función


lambda:
## Es una función sin nombre que debe tener una sola expresión en lugar de un bloque de acciones:
# Tenemos una función anónima con una entrada num, y una salida que devuelve num*2. La guardamos en la variable doblar
doblar = lambda num: num*2
doblar(4)  # Nos dará 8

impar = lambda num: num%2 != 0   #Comprueba si el número es impar 'si el resto de la división por 2 es diferente a 0'
impar(5)  # Nos dará True

revertir = lambda cadena: cadena[::-1]  #Darle la vuelta a una cadena utilizando slicing
revertir('Hola')   # Nos dará 'aloH'

sumar = lambda x,y: x+y  #Incluso podemos enviar varios valores, por ejemplo para sumar dos números
sumar(5,2)  # Nos dará 7

# Tenemos una lista de números y queremos filtrarla, quedándonos solo con los múltiplos de 5
numeros = [2, 5, 10, 23, 50, 33, 65]
list( filter(lambda numero: numero%5 == 0, numeros)) # Nos dará [5, 10, 50, 65] 'resto de la división por 5 es igual a 0'