Tuple nommé en Python

Fariba Laiq 30 janvier 2023
  1. Qu’est-ce qu’un tuple nommé en Python
  2. Différence entre tuple simple et nommé en Python
  3. Quand utiliser un tuple nommé au lieu d’un tuple simple en Python
  4. Comment utiliser le tuple nommé en Python
Tuple nommé en Python

Cet article explique un tuple nommé, quand et comment l’utiliser, et la différence entre les tuples normaux et nommés en Python.

Qu’est-ce qu’un tuple nommé en Python

Un tuple nommé est un type spécial de tuple qui a toutes les fonctionnalités d’un tuple. Le tuple nommé a été introduit dans Python 2.6. Tout comme un dictionnaire, un tuple nommé contient une paire clé-valeur.

Une valeur est accessible à l’aide de sa clé et également à l’aide de son index. Il est similaire à une structure en langage C.

Différence entre tuple simple et nommé en Python

Named Tuple est la représentation objet d’un tuple simple. C’est une sous-classe de tuples simples avec des variables nommées créées par programme à l’aide d’une fonction d’usine.

Nous pouvons accéder aux éléments du tuple nommé en utilisant l’opérateur point avec la variable de référence du tuple nommé et en utilisant l’index de l’élément avec la variable de référence. Alors que dans un tuple simple, nous ne pouvons utiliser que l’index de l’élément avec la variable de référence pour y accéder.

Quand utiliser un tuple nommé au lieu d’un tuple simple en Python

Nous utilisons des tuples nommés au lieu de simples tuples lorsque nous voulons que notre code soit propre, compréhensible et plus pythonique.

Par exemple, un person.age semble plus propre qu’un person['age'] dans le cas d’un dictionnaire. Et, un person.age semble également plus propre qu’un person[1] dans le cas du tuple simple.

Comment utiliser le tuple nommé en Python

Pour générer un tuple nommé, nous importons d’abord le namedtuple(), une fonction d’usine à l’intérieur du module collections. La fonction d’usine est une fonction utilisée pour fabriquer une classe de différents prototypes.

En utilisant cette fonction de fabrique, nous spécifions le nom et les attributs de la classe. La syntaxe générale est donc ci-dessous.

Class_Name = namedtuple('Class_Name', ['field_1', 'field_2', ....., 'field_n'])

Ensuite, nous pouvons instancier la classe. L’instanciation de la classe créera un objet et affectera des valeurs aux champs correspondants.

La syntaxe générale est donc ci-dessous.

Ref_Variable_Name = Class_Name('Value_1', 'Value_2', ....., 'Value_n')

Nous pouvons accéder à la valeur d’un champ spécifique en utilisant la notation par points. La syntaxe générale est donc ci-dessous.

Ref_Variable_Name.field_name

Dans l’exemple de code complet suivant, le nom de la classe est Person, et ses attributs sont name et age. Puis on crée une instance, p1, de la classe Person.

Or, cette instance p1 est un tuple nommé. Nous avons accédé aux variables de classe en utilisant la notation d’objet et par l’index avec la variable de référence dans le code.

Mais la notation d’objet est plus claire et compréhensible, ce qui est le motif du tuple nommé.

Exemple de code :

# 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)

Production :

# python 3.x
Accessing values using index:
Person Name: Jhon
Person Age: 20
Accessing Values using key:
Person Name: Jhon
Person Age: 20
Auteur: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

Article connexe - Python Tuple