"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Nommé Uples in Python: quel type sont-ils?

Nommé Uples in Python: quel type sont-ils?

Publié le 2025-03-24
Parcourir:525

Named Tuples in Python: what type are they?

Les tuples nommés dans Python sont une extension du type de données Tuple intégré, vous permettant de donner des noms significatifs aux éléments d'un tuple. En d'autres termes, les tuples nommés sont des tuples avec des attributs nommés. N'est-ce pas cool?

ils font partie du module des collections et fournissent un moyen de définir des classes simples et immuables de manière plus simple.

attendez quoi, classes?
Oui, classes.

Les tuples nommés sont essentiellement des classes immuables.

C'est la magie qui se produit: lorsque vous créez un tuple nommé à l'aide de NamedTuple, le résultat n'est pas une instance du tuple lui-même, mais plutôt une classe générée dynamiquement qui hérite de Tuple. Encore une fois, cool !!

Voyons comment cela fonctionne.

from collections import namedtuple 

P = namedtuple("Point", "x y")

Lorsque vous exécutez p = NamedTuple ("Point", "x Y"), vous créez une nouvelle classe nommée Point (comme spécifié dans le premier argument à NamedTuple).

La fonction NABLEATTUPLE utilise le type dans les coulisses pour créer dynamiquement une nouvelle classe nommée Point qui hérite de Tuple. Cette nouvelle classe est stockée dans la variable p.

et comme avec les classes, le type est type.

> type(P)
class 'type'
> class A:
    pass

> type(A)
class 'type'

et quel type est l'instance d'un nom de NamedTuple?

from collections import namedtuple 

P = namedtuple("Point", "x y")
p = P(1,2)

> print(type(p)) 
class '__main__.Point'

p est une instance de type de type. Mais c'est aussi un tuple:

> print(isinstance(p, tuple))
True

En résumé:

  • P est une classe générée dynamiquement par NamedTuple.
  • Les instances de p sont des objets de type point qui sous-classent également tuple.

et une dernière chose:

Il est très courant de nommer la variable NamedTuple (ce que nous avons appelé p) avec le même nom que le nom de type (ce que nous appelons point), la classe créée dynamiquement:

from collections import namedtuple 

Point = namedtuple("Point", "x y")

J'ai utilisé un nom différent pour clarifier la distinction entre deux.

Déclaration de sortie Cet article est reproduit à: https://dev.to/guzmanojero/named-puples-in-python-what-ype-are-yy-128m?1 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3