Introducción a Python

Tipos de variables, contenedores y estructuras de control

Contributors:

Tipos numéricos

Python dispone de los tipos numéricos y las operaciones más habituales

Las divisiones por cero lanzan un error:

La división entre enteros devuelve un número real.

Se puede forzar que la división sea entera en Python con el operador //

Se puede realizar potenciación usando el operador **

Y podemos obtener el módulo de una división usando %

Otro tipo que nos resultará muy útil son los complejos

Podemos convertir variables a int, float, complex, str

Variables

Python reconoce automáticamente qué tipo de variable se está creando.

Podemos realizar asignaciones múltiples

Operadores de comparación

Los operadores de comparación son:

Devolverán un booleano: True o False

Podemos incluso saber si un número está en un intervalo

Booleanos

Algunas personas usan el operador ~ para invertir el valor de verdad de variables booleanas. Hay que tener cuidado en un caso:

Aqui un buen resumen de los operadores en python

Estructuras de datos

Colección de elementos usados para almacenar datos relacionados.
Principales tipos de estructuras: listas, tuplas, conjuntos, diccionarios

Listas

El acceso a los elementos de la lista es posicional. En python el primer elemento siempre se indica con el número cero:

Podemos realizar acciones aprovechando los métodos propios de las listas, por ejemplo agregar y remover elementos como se muestra en la siguiente celda

¿Qué otros métodos existen para este tipo de estructuras?

Para saberlo digite el nombre de la variable, un punto, y el tabulador.

lista. + tab

Al digitar tab Python examina y nos muestras las distintas posibilidades que tienen sentido para completar una línea de código, en caso de hallar algunas.

Para saber en qué consiste, por ejemplo, el método copy(), digite:

Aliasing

El problema observado en el primer caso se conoce como aliasing, y ocurre por que Python no creó una nueva variable, sino una vista de la variable original. Para evitar comportamientos indeseados, en general es más seguro utilizar el método .copy()

Tuplas

Otras funciones útiles

Slicing

Podemos indexar las secuencias, utilizando la sintaxis [<inicio>:<final>:<salto>]

Conjuntos

Es posible convertir entre tipos de datos. Un ejemplo interesante son los conjuntos (sets), similares a las listas pero que NO almacenan elementos repetidos, lo cual los hace convenientes para eliminar entradas duplicadas en una lista o para realizar la unión o interesección de conjuntos de elementos.

Diccionarios

Estructuras de control e indentación en Python

Los bloques de código en Python se estructuran por la indentación.

En otros lenguajes se usa el punto y coma ; y los corchetes {} para saber dónde termina un bloque de código, y la indentación es solo un estilo para facilitar la lectura del código.

En Python la indentación es un requisito, haciendo de la legibilidad y organización del código características propias del lenguaje. La indentación se puede hacer con espacios o tabs.

Tabs vs Espacios

La mayoría de editores de texto convierten un tab en 4 espacios por lo que esta se considera la medida por defecto, pero no se deben mezclar pues máquinas distintas pueden no reconocer los tabs de la misma manera, generando conflictos.

Estructura if

Especial atención a la indentación a 4 espacios.

Estructura for y función range()

range( stop)

range( start, stop, step)

También podemos recorrer directamente los elementos de una lista, tupla, set o diccionario.

Estructura while

Repetir un segmento de código mientras se cumpla una condición.

Atención para evitar los búcles infinitos

Ejercicio de Programación:

Escriba un programa que imprima los números del 1 al 100, pero que para los múltiplos de 3 imprima Fizz en lugar del número y para los múltiplos de 5 imprima Buzz.

Para números que son múltiplos de 3 y 5 imprima FizzBuzz.

Ejercicio de Programación:

Intente el mismo ejercicio, pero esta vez en lugar de imprimir los números en pantalla almacénelos en un diccionario con las claves 'Fizz', 'Buzz', y 'FizzBuzz'.

Resumen:

Contributors: