Tutorial Python parte 2

Conoceremos el uso de algunos tipos de datos, Lista, Tuplas, Diccionarios y control de flujo.

Menú

En este artículo hablaremos de algunas formas que Python ofrece para manipular datos, estas son las listas, colecciones y diccionarios. También explicaremos algunos flujos de control, en el artículo anterior vimos como manejar los números y las cadenas de texto.

Python tiene siertas normas que debemos respestar una de ellas es que al codificar script python en funciones, clases, o cualquier estrucctura de control la identacion es muy importate, ya que no se usa {} como en otros lenguajes sino que son bloques identados. Un tabulador suele bastar pero de no ser asi PEP8 recomienda 4 espacios, ademas después de la declaración de una función debemos dejar dos espacios en blanco.

Listas

Son un tipo de datos compuestos que utiliza Python para agrupar otros valores conocidos como ítems, los Ítems puede ser de distintos tipos, se escriben estos ítems separados por coma (,) encerrados en corchetes []; Al igual que las cadenas y otros tipos, sequence las listas poseen índices y pueden ser segmentadas, todas las operaciones de segmentación los resultados obtenidos son una shallow copy de la lista en sí, además las listas pueden concatenarse, y puede agregar valores usando la función append(), estos valores se añaden al final de la lista. La función len() también está disponible para el conteo de ítems de una lista.

Ejemplos de Lista

Métodos de una lista

  1. append(x): Ya antes mencionado, se usa para añadir ítems a la lista.
  2. extend(iterable): Añade un elemento iterable a la lista
  3. insert(i, x): inserta un ítem en la posición dada el argumento i es la posición del elemento y x su valor.
    mylist = [1,3.4]
    mylist.insert(1, 2)
    mylist # tiene [1,2,3,4]
  4. remove(x): Elimina el primer ítem de la lista que contenga el valor de x
  5. pop([i]): Elimina y retorna el ítem de la lista, si no se pasa argumento se elimina y retorna el último elemento de la lista
  6. clear(): Elimina todos los ítems de la lista
  7. index(x,[start, end]): Retorna él indicie basado en 0 donde su valor sea igual a x, los parámetros opcionales start, end permite segmentar la búsqueda.
  8. cont(x): cuenta la cantidad de veces que x está en la lista.
  9. sort(*, key=None, reverse=False): Ordena los elementos de una lista, los argumentos se usan para personalizar el orden, esto es opcional
  10. reverse(): Invierte los elementos de una lista
  11. copy(): Retorna una copia de la lista.
  12. La palabra clave del se puede usar para eliminar una sección de la lista del milista[4]

Tuplas

Las tuplas son otro tipo de datos secuencial que Python pone sobre la mesa, consisten en ítems separados por comas, a diferencia de las listas estas no se encierran en corchetes sino entre paréntesis, aunque no es obligatorio en todos los casos; No es posible asignar a los ítems individuales de una tupla, pero, sin embargo, sí se puede crear tuplas que contengan objetos mutables, como las listas. Ya que las tuplas son inmutables.

Ejemplos de Tuplas

Diccionarios

Los diccionarios son otro tipo de datos útil en Python, son del tipo mapa, si conoces los JSON, o los objetos JavaScript son muy parecidos. A diferencias de los tipos de datos secuenciales, los diccionarios son clave valor encerrado en llaves, {} además tenemos la función dict() es un constructor para crear diccionarios pasando clave valor como argumento, el único requerimiento de las claves es que no pueden ser listas y deben ser únicas, para declarar un diccionario vació se usa {}, si deseamos borrar un par clave:valor de un diccionario utilizamos del, para listar todas las claves de un diccionario utilizamos la función list(d) en orden de inserción, para ordenarla usamos la función sorted(d) en su lugar, para verificar si existe una clave en un diccionario usamos la palabra clave in.

Ejemplo de Diccionario

Existen otros tipos de datos, pero desde la perspectiva del autor de este artículo estos son los más utilizados.

Herramientas para Control de Flujo

La sentencia IF, ELIF, ELSE

Quizás sea la sentencias más usada en Python y casi cualquier lenguaje de programación, esta sentencia nos permite colocar condiciones indefinidas a un caso o grupo de casos específicos, la estructura de uso es if(Si), elfi(Sino si), else(sino) para este condiciona lo único obligatorio es el if, un bloque de esta sentencia puede contener o más de elif que es una abreviatura de else if de otros lenguajes de programación, de igual manera es else puede contener 0 o más.

Ejemplo:

# Condicional
MyEdad = 2022 - 1990
if MyEdad < 18:
   print("Eres Menor")
elif MyEdad > 55:
   print("Eres Anciano")
else:
   print("Eres Adulto")


# imprime Eres Adulto

La sentencia for

Es un poco diferente de otros lenguajes de programación, en Python esto itera sobre las secuencias directamente, en el orden que se especificó, itera sobre lista, cadenas, diccionarios, tuplas entre otras

# for
Mysequence = ['carro', 'avión', 'barco']
for n in Mysequence:
    print(n, len(n))

# Imprime
# carro
# avión
# barco

Un diccionario posee algunas funciones que nos permiten iterar sobre ellos, la función items() nos permite manipular clave:valor al mismo tiempo, en el caso de una secuencia podemos usar, enumerate() la cual nos permite iterar sobre index, ítems al mismo tiempo, en caso de que querremos trabajar con dos secuencias al mismo tiempo contamos con la función zip()

#Iterando sobre un dicc
users = {'Nombre': 'Frang', 'Apellido': 'Pérez'}
Mysequence = ['carro', 'avión', 'barco']
for n, v in users.items():
    print(n,v)
   
# Imprime
# Nombre Frang
# Apellido Pérez

for i, v in enumerate(Mysequence):
    print(i,v)

# Imprime
# 0 carro
# 1 avión
# 2 barco

Si necesita iterar sobre un rango de números podemos usar range(), se le pasa como argumento el valor inicial y el valor final.

Mysequence = ['carro', 'avión', 'barco']
for i in range(2, 6):
    print(i)

# Imprime 2 3 4 5

for i in range(len(Mysequence)):
    print(i, Mysequence[i])


# Imprime
# 0 carro
# 1 avión
# 2 barco

La sentencia while

Esta sentencia se usa para la ejecución repetida siempre que una expresión sea verdadera. Su flujo es inicio > condición si es verdadero fin (o al else) si no repite el bloque.

nm = int(input("Cuanto es 5 + 25: "))
while nm != 30:
    print("Incorrecto")
    nm = int(input("Cuanto es 5 + 25: "))
else:
    print("Exelente")

Las sentencias break, continue, y else en bucles

En los bucles Python nos ofrece algunas palabras claves que nos ayudan a mejorar y controlar los recorridos.

La sentencia break se usa para finalizar un bucle, la sentencia continue continua con la siguiente iteración del ciclo

La sentencia else en los bucles funciona de igual manera que en los if, en un while si la condición no se cumple se ejecuta el else y finaliza el bucle, de igual manera trabaja en el for

La sentencia match

Esta sentencia se comporta igual a la sentencia switch de otros lenguajes de programación como JavaScript, lo que hace es comparar una expresión con una cantidad determinada de casos sucesivos

Ejemplo de match

Podemos usa el símbolo | para colocar múltiples condiciones en un case

case 401 | 403 | 404:
    return "Not allowed"


Existen otras estructuras de control y usos más avanzados a los aquí presentados, pero como esto es un tutorial básico no entraremos en esos detalles,

Si deseas añadir algo comenta, tus ideas son importante, si deseas apoyarme, comparte este tutorial y cada una de sus partes.

Continuar con Tutorial Python parte 3 (Funciones y Módulos parte 1)

Comentarios

Otros Post

Escribenos