Breve introducción a la Programación en Python
Última actualización: 2023-02-07 | Mejora esta página
Intérprete
Hoja de ruta
Preguntas
- ¿Qué es Python?
- ¿Porqué deberías aprender Python?
Objetivos
- Describir las ventajas de usar programación vs. completar tareas repetitivas a mano.
- Definir los tipos de datos en Python: cadenas, enteros, y números de punto flotante.
- Realizar operaciones matemáticas en Python utilizando operadores básicos.
- Dentro del contexto de Python definir: listas, tuplas, y diccionarios.
Python es un lenguaje interpretado que puede ser usado de dos formas:
- Modo “Interactivo”: cuando lo usas como una “calculadora avanzada”
ejecutando un comando a la vez. Para iniciar Python en este modo,
simplemente ejecuta
python
en la línea de comandos:
SALIDA
Python 3.5.1 (default, Oct 23 2015, 18:05:06)
[GCC 4.8.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Los res símbolos de mayor que >>>
forman un
indicador interactivo en Python, que significa que está esperando tu
entrada de datos.
SALIDA
4
SALIDA
Hello World
- Modo “Script”: cuando ejecutas una serie de “comandos” guardados en
un archivo de texto, generalmente con una extensión
.py
después del nombre de tu archivo:
SALIDA
Hello World
Introducción a los tipos de datos incorporados en Python
Strings, integers, and floats
Una de las cosas más básicas que podemos hacer en Python es asignar valores a las variables:
PYTHON
text = "Data Carpentry" # Un ejemplo de string
number = 42 # Un ejemplo de integer
pi_value = 3.1415 # Un ejemplo de float
Aquí hemos asignado datos a las variables
text
,number
y pi_value
,
utilizando el operador de asignación =
. Para revisar el
valor de una variable, nosotros podemos escribir el nombre de la
variable en el intérprete y presionar Return:
SALIDA
"Data Carpentry"
Todo en Python tiene un tipo. Para obtener el tipo de algo, podemos
pasarlo a la función type
:
SALIDA
<class 'str'>
SALIDA
<class 'int'>
SALIDA
<class 'float'>
La variable text
es de tipo ‘str’, abreviatura de
string o cadena de caracteres. Las cadenas almacenan
secuencias de caracteres, que pueden ser letras, números, puntuación o
formas más exóticas de texto (¡incluso emoji!).
También podemos ver el valor de algo usando otra función incorporada,
print
:
SALIDA
Data Carpentry
SALIDA
11
Esto puede parecer redundante, pero de hecho es la única forma de mostrar resultados en un script:
example.py
PYTHON
# En un archivo script de Python
# los comentarios en Python inician con #
# Las siguientes líneas asignan la cadena "Data Carpentry" a la variable "text".
text = "Data Carpentry"
# ¡La siguiente línea no hace nada!
text
# La siguiente línea usa la función print para imprimir el valor asignado a "text"
print(text)
Ejecutando el script
SALIDA
Data Carpentry
Nota que “Data Carpentry” se imprime una vez.
Sugerencia: print
y type
son funciones incorporadas en Python. Más adelante en esta lección,
veremos métodos y funciones definidas por el usuario. La documentación
de Python es excelente para darte una referencia sobre las diferencias
entre ellos.
Operadores
Podemos realizar cálculos matemáticos en Python usando los operadores
básicos +, -, /, *, %
:
SALIDA
4
SALIDA
42
SALIDA
65536
SALIDA
3
También podemos utilizar operadores de comparación y lógicos:
<,>, ==,! =, <=,> =
y declaraciones de
identidad como and, or, not
. El tipo de datos devuelto por
estos operadres es llamado boolean y retorna
verdadero o falso, como ves a continuación.
SALIDA
False
SALIDA
True
SALIDA
True
SALIDA
False
Secuencias: Listas y Tuplas
Listas
list (o listas) son una estructura de datos común para almacenar una secuencia ordenada de elementos. Se puede acceder a cada elemento mediante un índice. Ten en cuenta que en Python, los índices comienzan con 0 en lugar de 1:
SALIDA
1
Se puede usar un bucle for
para acceder a los elementos
de una lista u otras estructuras de datos de Python, uno a la vez:
SALIDA
1
2
3
Usar sangría es muy importante en Python. Ten en
cuenta que la segunda línea en el ejemplo de arriba está sangrada (o
indentada). Al igual que los tres >>>
son un
indicador interactivo en Python, los tres puntos ...
son
indicadores de líneas multiples en Python. Esta es la manera en que
Python marca un bloque de código. [Nota: no tienes que escribir
>>>
o ...
.]
Para agregar elementos al final de una lista, podemos usar el método
append
. Los métodos son una forma de interactuar con un
objeto (una lista, por ejemplo). Podemos invocar un método usando el
punto .
seguido del nombre del método y una lista de
argumentos entre paréntesis. Veamos un ejemplo usando
append
:
SALIDA
[1, 2, 3, 4]
Para averiguar qué métodos están disponibles para un objeto, podemos
usar el comando incorporado help
:
SALIDA
help(numbers)
Help on list object:
class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
...
Tuplas
Una tupla tuple es similar a una lista en que es una
secuencia ordenada de elementos. Sin embargo, las tuplas no se pueden
cambiar una vez creadas (son “inmutables”). Las tuplas se crean
colocando valores separados por comas dentro de los paréntesis
()
.
PYTHON
# Las tuplas usan paréntesis
a_tuple = (1, 2, 3)
another_tuple = ('blue', 'green', 'red')
# Nota: las listas usan corchetes cuadrados
a_list = [1, 2, 3]
Tuplas vs. Listas
- ¿Qué sucede cuando ejecutas
a_list[1] = 5
? - ¿Qué sucede cuando ejecutas
a_tuple[2] = 5
? - ¿Qué te dice
type(a_tuple)
sobrea_tuple
?
Diccionarios
Un diccionario dictionary es un contenedor que almacena pares de objetos - claves y valores.
SALIDA
1
Los diccionarios funcionan como listas, excepto que se crea el índice utilizando claves keys. Puedes pensar en una clave como un nombre o un identificador único para un conjunto de valores en el diccionario. Las claves sólo pueden tener tipos particulares, tienen que ser “hashable”. Las cadenas y los tipos numéricos son aceptables, pero las listas no lo son.
SALIDA
'one'
SALIDA
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
En Python, un “Traceback” es un bloque de error de varias líneas impreso para el usuario.
Para agregar un elemento al diccionario, asignamos un valor a una nueva clave:
SALIDA
{1: 'one', 2: 'two', 3: 'three'}
Usar bucles for
con diccionarios es un poco más
complicado. Podemos hacer esto de dos maneras:
SALIDA
1 -> one
2 -> two
3 -> three
o
SALIDA
1 -> one
2 -> two
3 -> three
Cambiando diccionarios
- Primero, imprime el valor de
rev
del diccionario en la pantalla. - Reasigna el segundo valor (parar el par clave: valor) para que ya no lea “dos” sino “manzana”.
- Imprime el valor de
rev
en la pantalla nuevamente y ve si el valor ha cambiado.
Es importante tener en cuenta que los diccionarios están “desordenados” y no recuerdan la secuencia de sus elementos (es decir, el orden en el que los pares clave: valor fueron añadidos al diccionario). Debido a esto, el orden en que los elementos son devuelto en los bucles sobre los diccionarios, puede aparecer al azar e incluso puede cambiar con el tiempo.
Funciones
Definir una sección de código como una función en Python se hace
utilizando la palabra clave def
. Por ejemplo, una función
que tome dos argumentos y devuelve su suma puede ser definida como:
SALIDA
42
Puntos Clave
- Python es un lenguaje interpretado que puede ser usado interactivamente (ejecutando un comando a la vez) o en modo scripting (ejecutando una serie de comandos guardados en un archivo).
- Se puede asignar un valor a una variable en Python. Esas variables pueden ser de varios tipos, tales como cadenas, y números: enteros, de punto flotante y complejos.
- Las listas y las tuplas son similares en el sentido de que son listas ordenadas de elementos; difieren en que una tupla es inmutable (sus elementos no pueden ser modificados).
- Los diccionarios son estructuras de datos desordenadas que proporcionan mapeos entre claves y valores.