|
| 1 | +--- |
| 2 | + |
| 3 | +name: Tuplas |
| 4 | +theory: | |
| 5 | +
|
| 6 | + Además de los tipos primitivos, Python tiene tipos de datos compuestos que almacenan varios valores a la vez. Un estudiante universitario se describe con nombre, edad y promedio. Una película tiene título, año de estreno y calificación. Estos grupos de valores es natural almacenarlos juntos. |
| 7 | +
|
| 8 | + Una tupla es más simple que cualquier otro tipo compuesto. Almacena varios valores en un orden estrictamente definido. Una vez creada, no se puede modificar. |
| 9 | +
|
| 10 | + Una tupla es adecuada para datos que siempre van juntos. |
| 11 | +
|
| 12 | + ```python |
| 13 | + student = ('Alice', 20, 4.8) # nombre, edad, promedio |
| 14 | + film = ('Inception', 2010, 8.8) # título, año, calificación |
| 15 | + ``` |
| 16 | +
|
| 17 | + Una tupla se escribe entre paréntesis con los valores separados por comas. |
| 18 | +
|
| 19 | + ```python |
| 20 | + point = (10, 20) |
| 21 | + colors = ('red', 'green', 'blue') |
| 22 | + mixed = (42, 'hello', 3.14) |
| 23 | + ``` |
| 24 | +
|
| 25 | + Una tupla de un solo elemento requiere una coma al final. Sin ella, Python interpreta los paréntesis como agrupación de una expresión. |
| 26 | +
|
| 27 | + ```python |
| 28 | + single = (42,) # una tupla con un elemento |
| 29 | + not_tuple = (42) # simplemente el número 42 |
| 30 | + ``` |
| 31 | +
|
| 32 | + Los elementos de una tupla se numeran desde cero. Se accede a ellos por índice. |
| 33 | +
|
| 34 | + ```python |
| 35 | + point = (10, 20) |
| 36 | + print(point[0]) # => 10 |
| 37 | + print(point[1]) # => 20 |
| 38 | + ``` |
| 39 | +
|
| 40 | + Una tupla no se puede modificar después de su creación. Intentar reemplazar un elemento produce un error. |
| 41 | +
|
| 42 | + ```python |
| 43 | + point = (10, 20) |
| 44 | + point[0] = 5 # TypeError: 'tuple' object does not support item assignment |
| 45 | + ``` |
| 46 | +
|
| 47 | + La inmutabilidad está incorporada en las tuplas de forma deliberada. Sin importar dónde se pase una tupla, sus datos permanecen iguales. |
| 48 | +
|
| 49 | + Los elementos de una tupla se pueden asignar a varias variables a la vez. |
| 50 | +
|
| 51 | + ```python |
| 52 | + point = (10, 20) |
| 53 | + x, y = point |
| 54 | +
|
| 55 | + print(x) # => 10 |
| 56 | + print(y) # => 20 |
| 57 | + ``` |
| 58 | +
|
| 59 | + Python asigna los valores a las variables en orden. El número de variables debe coincidir con el número de elementos. |
| 60 | +
|
| 61 | +instructions: | |
| 62 | + Dos ciudades están en la misma carretera. Cada una se describe con una tupla que contiene el nombre y la posición en kilómetros desde el inicio de la ruta: |
| 63 | +
|
| 64 | + ```python |
| 65 | + city_a = ('Moscow', 10) |
| 66 | + city_b = ('Saint Petersburg', 644) |
| 67 | + ``` |
| 68 | +
|
| 69 | + Calcula la distancia entre las ciudades y muestra el resultado en este formato: |
| 70 | +
|
| 71 | + ``` |
| 72 | + From: Moscow |
| 73 | + To: Saint Petersburg |
| 74 | + Distance: 634 km |
| 75 | + ``` |
| 76 | +
|
| 77 | +tips: |
| 78 | + - | |
| 79 | + [Tuplas y Secuencias](https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences) |
| 80 | +
|
| 81 | +definitions: |
| 82 | + - name: "Tupla (tuple)" |
| 83 | + description: "una secuencia ordenada e inmutable de valores. Se crea con paréntesis: `(1, 2, 3)`." |
| 84 | + - name: "Desempaquetado (unpacking)" |
| 85 | + description: "asignación de los elementos de una tupla a varias variables a la vez, por ejemplo `x, y = (10, 20)`." |
| 86 | + - name: "Indexación" |
| 87 | + description: "acceso a un elemento por su posición, comenzando desde cero: `t[0]` es el primer elemento de la tupla `t`." |
0 commit comments