Entradas

Fiestas de Quito

Imagen
6 de diciembre Redactar

Programación funcional en Python

Map Aplica una función a todos los elementos en una lista de entrada.  Aquí está el plano: Sintaxis: map ( función a aplicar , lista de entrada ) Ejemplo: import math items=[5,3,1,4] list(map(math.sqrt,items)) Salida por consola: Out[1]: [2.23606797749979, 1.7320508075688772, 1.0, 2.0] Lambdas   Lambdas  son funciones de una línea.  También se les conoce como funciones anónimas en otros idiomas.  Es posible que desee utilizar lambdas cuando no desee utilizar una función dos veces en un programa.  Son como las funciones normales e incluso se comportan como ellas. Sintaxis:  Variable = lambda argumento : manipular ( argumentos ) Ejemplo: Creamos una función f que me devuelve el cuadrado de un número: def f(x):     return x**2 Por consola obtenemos: f(2) Out[3]: 4 Pero puedo hacer lo mismo con lambda en una sola línea:  g= lambda x:x**2 Por consola obtenemos: print(g(4)) 16 Filter Crea una l...

Enumerate

Nos permite recorrer algo y tener un contador automático.  Aquí hay un ejemplo: items =['a','b','c','d',] for pos, value in enumerate(items):     print(f'{pos+1}: {value}') Al escribir este código en consola obtenemos: 1: a 2: b 3: c 4: d Algunas cosas que se pueden hacer: Su valor hexadecimal   enumerate(items) Out[21]: <enumerate at 0x110bc2288> Transformar a una lista:  list(enumerate(items)) Out[22]: [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')] Transformar a una tupla: tuple(list(enumerate(items))) Out[24]: ((0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')) Transformar a un diccionario: set(list(enumerate(items))) Out[25]: {(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')} Transformar a un diccionario solo valores no las claves (key) set(items) Out[27]: {'a', 'b', 'c', 'd'} Referencias: 1...

args y kwargs en Python (argumentos)

Imagen
args  representa un conjunto arbitrario de argumentos posicionales, mientras que  kwargs  es lo mismo pero con argumentos con  keyword , o nombre. De ahí el significado de  kwargs :  k ey w ord  arg ument s .  Hay que destacar que la sintaxis es  *  y  ** , siendo los nombres de  args  y  kwargs  una simple convención, pero no es un requisito estricto su uso; es decir, que si a una función le pasamos como argumento  *mi_lista  o  **mi_diccionario  tendrá el mismo efecto. *args:  es una lista de argumentos, como argumentos posicionales.   **kwargs:  es un diccionario cuyas claves se convierten en parámetros y sus valores en los argumentos de los parámetros. Por ejemplo: def lista_argumentos(*args):     for i, arg in enumerate(args):         print('%d - %s' % (i, arg)) Salida por consola: Cuando escribes por consola aparece el *args ...

UnPacking dictionary (Desempaquetando diccionarios)

Primero creamos un diccionario cualquiera: auto ={'brand':'Hyundai',        'model':'Tucson',        'motor':'2.0 CVVT',        'year':2017,        } Luego para mostrarlo en pantalla desempaquetado: print('Marca: {}\n '       'Modelo: {}\n'       'Motor: {}\n'       'Año: {}'. format (               auto['brand'],               auto['model'],               auto['motor'],               auto['year'],             )) Como podemos ver utilizamos {}\n y .format  En consola obtenemos: Marca: Hyundai Modelo: Tucson Motor: 2.0 CVVT Año: 2017 Existe una forma mas reducida en la que creas el diccionario dentro del print:  print('Marca: {brand}\n'      ...

Mantener el orden de los diccionarios

Para realizar esto importamos la función: OrderedDict de la librería: collections from collections import OrderedDict a={'a':1, 'b':2, 'c':3,'d':4} od = OrderedDict(a) Salida por consola Primero verificamos que tipo de dato es "od": type(od) Out[20]: collections.OrderedDict Como podemos observar es de tipo OrderedDict Luego lo utilizamos: od Out[19]: OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)]) Echo!!

Módulos en Python

Imagen
Para realizar módulos en Python primero debes crear dos archivos .py en una misma carpeta, en el uno colocas las funciones y en el otro las invocas, veamos: Primero creamos un archivo con las funciones: Luego creamos otro archivo donde invocamos a las funciones, en este caso para calcular la densidad y la respuesta la obtengamos con las unidades de medida deseadas. Existe otra forma de importar las funciones: Salida por consola:

Diccionarios en Python

Los diccionarios en Python son un tipo de estructuras de datos que permite guardar un conjunto no ordenado de pares clave-valor. Crear un diccionario: auto = {'marca':'Hyundai', 'model':'Tucson', 'motor':'2.0 CVVT', 'year':2007 } En consola escribimos:  auto Out[2]: {'marca': 'Hyundai', 'model': 'Tucson', 'motor': '2.0 CVVT', 'year': 2007} Sintaxis: auto={clave única:valor, } También puedo llamar mediante consola utilizando su clave: auto['model'] Out[4]: 'Tucson' Aqui llamamos al diccionario auto con la clave modelo que le corresponde en este caso Sale por consola "Tucson" auto['motor'] Out[5]: '2.0 CVVT' OPERACIONES CON DICCIONARIOS   ITERAR: Podemos mostrar en pantalla el valor de sus claves o keys iterando con un for: auto = {'marca':'Hyundai...

Análisis de Datos en Python.

Imagen
Pandas: Pasos: 1) Guardar el archivo para hacer el análisis de datos en la misma carpeta donde elaboro mi programa. 2) Importar el módulo de Pandas para acceder a todas sus funciones y matplotlib para graficar. 3) Leer el archivo 4) Definir las columnas 5) Plotear las columnas con el color y tipo 6) Poner las etiquetas en los ejes.  Ejemplo: #Manejo de datos con Python import pandas as pd #Importar la libreria de panda from matplotlib import pyplot as plt #Importar la libreria para graficar """Leer el archivo ignorando el encabezado y diciendo cual es el separador de las columnas""" data=pd.read_csv('Encuesta.csv', header=0, delimiter=',') x=data.ix[:,0] #primer columna y=data.ix[:,1] #segunda columna print(data)#Imprimes todo el documento print(x)#Imprimes la columna 1 que le agregamos al eje x print(y)#Imprimes la columna 2 que le agregamos al eje y plt.plot(x,y,'ro')#Plotear los ejes x e y de color rojo y pu...

try y manejo de errores en python

Cuando sucede un problema que tal vez no lo esperamos debido a que el usuario puede ingresar otro tipo de información, se utiliza el try, así mismo con la palabra reservada raise puedes personalizar tus propios errores: def area_tri(base, altura):     if base <=0 or altura <=0:         raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo         return (base*altura)/0 Salida por consola:  area_tri(-1,9) Traceback (most recent call last):   File "<ipython-input-2-38fe634892d5>", line 1, in <module>     area_tri(-1,9)   File "<ipython-input-1-a4c6311ebd55>", line 3, in area_tri     raise ValueError('Debes ingesar valores mayores a cero')#Crea un tipo de error nuevo ValueError: Debes ingresar valores mayores a cero En este caso el usuario ingresó valores negativos o menores a 0 y el mensaje personalizado fue: Debes ingresar valores...

PEP 8 en Python

Imagen
Muchas veces es necesario programar según los estándares de sintaxis de cada lenguaje de programación, Python te ayuda con esto mediante el menú herramientas, clic en preferencias de Spyder (anaconda), luego clic en editor, clic en análisis e introspección de código , activar la casilla que dice Análisis de estilo del código en el Editor , en inglés sería Real-time code style analysis (Refer to the PEP8 page) De esta manera se mostraran en el editor de Python sugerencias para escribir el código en base a los estándares establecidos. Si deseas en ese mismo apartado puedes seguir la página oficial de Python sobre PEP 8 - Guía de estilo para el código Python En donde puedes hallar mas sugerencias y así convertirte en un Pythonero.

Desempacar y Tuples en Python

Imagen
Desempacar en Python Las tuplas (al igual que las listas) se desempaquetan con el operador "*" (cuidado con **, que es otra cosa totalmente distinta). En tu ejemplo, simplemente debes hacer: lista=['a','b','c','d'] print(*lista) >> a b c d Tuplas: Al igual que las cadenas no permiten modificar sus elementos,  Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación.  t = ("a", "b", "mpilgrim", "z", "example") t Out[152]: ('a', 'b', 'mpilgrim', 'z', 'example') En la memoria nos indica que es de tipo tuple y tamaño 5: t[0] Out[153]: 'a' t[-1] Out[154]: 'example' t[2:4] Out[155]: ('mpilgrim', 'z') Las tuplas no tienen métodos >>> t ('a', 'b', 'mpilgrim', 'z', 'example') >>> t.append( ...

Funciones en Python

Imagen
Sintaxis: def nombre_funcion(argumentos): instrucciones return nombre_funcion#se utiliza para números Ejemplo: def print_name():     print('Jhon') En consola se escribe la función seguido de enter: >>print_name() >>Jhon Ingresando los argumentos: def print_name2(name):     print(f'Mi nombre es {name}') Escribir en consola: >>print_name2("Kary") >>Mi nombre es Kary Funciones de cálculo:   import math #Siempre el import va al inicio del programa  def area_circulo(radio):     area=math.pi*radio     return area >>area_circulo(5) Out[122]: 15.707963267948966 import math def cal_hipotenusa(a,b):     return math.sqrt(a**2+b**2) >>cal_hipotenusa(3,5) Out[124]: 5.830951894845301 Cambiar localmente una variable:  x=50 def func(x):     print(f'x: {x}')     x=2 print('x cambiada localmente',x) x cambiada localmente 50 func(6) x: 6 Y...

Strip, Split y Join en Python

Imagen
Strip: El método strip () devuelve una copia de la cadena con los caracteres iniciales y finales eliminados (en función del argumento de cadena pasado). Ejemplo: variable='hola 3       ' variable.strip() Out[158]: 'hola 3' Como observamos luego del 3 existen varios espacios que son eliminados con strip. variable='      hola 3    ' variable.strip() Out[159]: 'hola 3'#quita los espacios al inicio y al final Join: Transforma las listas en cadenas: paises = [ 'Argentina', 'Uruguay', 'Chile', 'Paraguay', 'Brasil', 'Bolivia' ] paisesString = ",".join(paises) >>Argentina,Uruguay,Chile,Paraguay,Brasil,Bolivia Si se desea otro tipo de separador de listas: paises = [ 'Argentina', 'Uruguay', 'Chile', 'Paraguay', 'Brasil', 'Bolivia' ] paisesString = "/".join(paises) print(paisesString) >>Argentina/Uruguay/Chile/Paraguay...

Arreglos y vectores ==> Listas en Python

Imagen
Definir una lista: lista=['a',1,'b',2,'c',3,'d',4,'e'] lista >>Out[5]: ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e'] En una lista se empieza a contar desde el 0, por ejemplo en el anterior ejercicio se empieza desde 0 hasta el 8. Out[5]: ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e'] lista[3] Out[6]: 2 #nos indica que el 2 esta en la posición 3. Extend = añade valores o caracteres al lado derecho. P.E. a=[8,9] a Out[12]: [8, 9] a.extend([10,11]) a Out[14]: [8, 9, 10, 11] ITERAR: items=[1,2,3,4,5] for item in items: print(item) MUESTRA EN PANTALLA:  1 2 3 4 5 MUESTRA LAS VARIABLES EN MEMORIA: NOTA: items se pone con s al final como plural y se itera en singular.  Otro ejemplo: items=[1,2,3,4,5] for item in items[1:]: #Empieza desde la posición 1      print(item) 2 3 4 5 items=[1,2,3,4,5] text ='' for item in items[1:]: ...