Weekly backup.
This commit is contained in:
43
20220522151020-namedtuple.org
Normal file
43
20220522151020-namedtuple.org
Normal file
@@ -0,0 +1,43 @@
|
||||
:PROPERTIES:
|
||||
:ID: 234f4590-b484-4286-9dbd-49612f4657be
|
||||
:mtime: 20220522171851
|
||||
:ctime: 20220522151020
|
||||
:END:
|
||||
#+title: NamedTuple
|
||||
|
||||
* Introduction
|
||||
Les /tuples/ sont des objets /immutables/ contenant des données /mutable/ ou non, homogènes ou non. Le contenu d'un
|
||||
/tuple/ est accessible depuis son index (cf. tableau). Le /namedtuple/ est un /tuple/ pour lequel le contenu est aussi
|
||||
accessible depuis un nom, rendant le code plus lisible.
|
||||
|
||||
Les /namedtuple/ prennent la même quantité de RAM que les /tuple/.
|
||||
|
||||
* Howto
|
||||
Le module /collections/ propose une implémentation de /namedtuple/ :
|
||||
#+BEGIN_SRC python :results output
|
||||
collections.namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC python :results output
|
||||
from collections import namedtuple
|
||||
from sys import getsizeof
|
||||
|
||||
Point = namedtuple('Point', ['x', 'y'])
|
||||
p1 = Point(10, 20)
|
||||
|
||||
print(f'{p1=}')
|
||||
print(f'{p1.x == p1[0] = }')
|
||||
print(f'{p1.y == p1[1] = }')
|
||||
|
||||
print(f'{getsizeof(p1) == getsizeof((10, 20)) = }')
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: p1=Point(x=10, y=20)
|
||||
: p1.x == p1[0] = True
|
||||
: p1.y == p1[1] = True
|
||||
: getsizeof(p1) == getsizeof((10, 20)) = True
|
||||
|
||||
* Références
|
||||
* [[https://pythonsimplified.com/what-are-namedtuples-in-python/][What are the named tuples in Python - Python Simplified]]
|
||||
* [[https://docs.python.org/3/library/collections.html#collections.namedtuple][Namedtuple - Python collections module]]
|
Reference in New Issue
Block a user