Breve introducción a la Programación en Python
Last updated on 2023-02-07 | Edit this page
Intérprete
Overview
Questions
- ¿Qué es Python?
- ¿Porqué deberías aprender Python?
Objectives
- 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:
BASH
$ python
OUTPUT
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.
PYTHON
2 + 2
OUTPUT
4
PYTHON
print("Hello World")
OUTPUT
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:
BASH
$ python my_script.py
OUTPUT
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
= "Data Carpentry" # Un ejemplo de string
text = 42 # Un ejemplo de integer
number = 3.1415 # Un ejemplo de float pi_value
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:
PYTHON
text
OUTPUT
"Data Carpentry"
Todo en Python tiene un tipo. Para obtener el tipo de algo, podemos
pasarlo a la función type
:
PYTHON
type(text)
OUTPUT
<class 'str'>
PYTHON
type(number)
OUTPUT
<class 'int'>
PYTHON
type(6.02)
OUTPUT
<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
:
PYTHON
print(text)
OUTPUT
Data Carpentry
PYTHON
print(11)
OUTPUT
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".
= "Data Carpentry"
text
# ¡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
BASH
$ python example.py
OUTPUT
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 +, -, /, *, %
:
PYTHON
2 + 2 # Suma
OUTPUT
4
PYTHON
6 * 7 # Multiplicación
OUTPUT
42
PYTHON
2 ** 16 # Potencia
OUTPUT
65536
PYTHON
13 % 5 # Módulo
OUTPUT
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.
PYTHON
3 > 4
OUTPUT
False
PYTHON
True and True
OUTPUT
True
PYTHON
True or False
OUTPUT
True
PYTHON
True and False
OUTPUT
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:
PYTHON
= [1, 2, 3]
numbers 0] numbers[
OUTPUT
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:
PYTHON
>>> for num in numbers:
print(num)
... ...
OUTPUT
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
:
PYTHON
4)
numbers.append(print(numbers)
OUTPUT
[1, 2, 3, 4]
Para averiguar qué métodos están disponibles para un objeto, podemos
usar el comando incorporado help
:
OUTPUT
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
= (1, 2, 3)
a_tuple = ('blue', 'green', 'red')
another_tuple
# Nota: las listas usan corchetes cuadrados
= [1, 2, 3] a_list
Diccionarios
Un diccionario dictionary es un contenedor que almacena pares de objetos - claves y valores.
PYTHON
= {'one': 1, 'two': 2}
translation 'one'] translation[
OUTPUT
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.
PYTHON
= {1: 'one', 2: 'two'}
rev 1] rev[
OUTPUT
'one'
PYTHON
= {[1, 2, 3]: 3} bad
OUTPUT
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:
PYTHON
= {1: 'one', 2: 'two'}
rev 3] = 'three'
rev[ rev
OUTPUT
{1: 'one', 2: 'two', 3: 'three'}
Usar bucles for
con diccionarios es un poco más
complicado. Podemos hacer esto de dos maneras:
PYTHON
for key, value in rev.items():
print(key, '->', value)
OUTPUT
1 -> one
2 -> two
3 -> three
o
PYTHON
for key in rev.keys():
print(key, '->', rev[key])
OUTPUT
1 -> one
2 -> two
3 -> three
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:
PYTHON
def add_function(a, b):
= a + b
result return result
= add_function(20, 22)
z print(z)
OUTPUT
42
Keypoints
- 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.