Weekly backup.

This commit is contained in:
2022-06-04 12:57:39 +02:00
parent e552583393
commit 015b896f65
68 changed files with 3530 additions and 27 deletions

View 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]]