Tupla nombrada en Python
- ¿Qué es una tupla con nombre en Python?
- Diferencia entre tupla simple y nombrada en Python
- Cuándo usar tupla con nombre en lugar de tupla simple en Python
- Cómo usar la tupla con nombre en Python
Este artículo explica una tupla con nombre, cuándo y cómo usarla, y la diferencia entre tuplas normales y con nombre en Python.
¿Qué es una tupla con nombre en Python?
Una tupla con nombre es un tipo especial de tupla que tiene todas las funcionalidades de una tupla. La tupla con nombre se introdujo en Python 2.6. Al igual que un diccionario, una tupla con nombre contiene un par clave-valor.
Se puede acceder a un valor usando su clave y también usando su índice. Es similar a una estructura en lenguaje C.
Diferencia entre tupla simple y nombrada en Python
Tupla con nombre
es la representación de objeto de una tupla simple. Es una subclase de tuplas simples con variables nombradas creadas mediante programación usando una función de fábrica.
Podemos acceder a los elementos de la tupla nombrada usando el operador punto con la variable de referencia de la tupla nombrada y usando el índice del elemento con la variable de referencia. Mientras que en una tupla simple, solo podemos usar el índice del elemento con la variable de referencia para acceder a él.
Cuándo usar tupla con nombre en lugar de tupla simple en Python
Usamos tuplas con nombre en lugar de tuplas simples cuando queremos que nuestro código se vea limpio, comprensible y más Pythonico.
Por ejemplo, una person.age
parece más clara que una person['age']
en el caso de un diccionario. Y, una person.age
también se ve más limpia que una person[1]
en el caso de la tupla simple.
Cómo usar la tupla con nombre en Python
Para generar una tupla con nombre, primero importamos namedtuple()
, una función de fábrica dentro del módulo de colecciones. La función de fábrica es una función que se utiliza para fabricar una clase de prototipos diferentes.
Usando esta función de fábrica, especificamos el nombre y los atributos de la clase. Entonces, la sintaxis general está a continuación.
Class_Name = namedtuple('Class_Name', ['field_1', 'field_2', ....., 'field_n'])
Entonces podemos instanciar la clase. Crear una instancia de la clase creará un objeto y asignará valores a los campos correspondientes.
Entonces, la sintaxis general está a continuación.
Ref_Variable_Name = Class_Name('Value_1', 'Value_2', ....., 'Value_n')
Podemos acceder al valor de un campo específico utilizando la notación de puntos. Entonces, la sintaxis general está a continuación.
Ref_Variable_Name.field_name
En el siguiente código de ejemplo completo, el nombre de la clase es Person
, y sus atributos son name
y age
. Luego hacemos una instancia, p1
, de la clase Person
.
Ahora, esta instancia p1
es una tupla con nombre. Hemos accedido a las variables de clase usando notación de objeto y por el índice con la variable de referencia en el código.
Pero la notación de objetos es más clara y comprensible, que es el motivo detrás de la tupla nombrada.
Código de ejemplo:
# python 3.x
from collections import namedtuple
Person = namedtuple("Person", ["name", "age"])
p1 = Person("Jhon", "20")
print("Accessing values using index:")
print("Person Name:", p1[0])
print("Person Age:", p1[1])
print("Accessing Values using key:")
print("Person Name:", p1.name)
print("Person Age:", p1.age)
Producción :
# python 3.x
Accessing values using index:
Person Name: Jhon
Person Age: 20
Accessing Values using key:
Person Name: Jhon
Person Age: 20
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn