Vue d'ensemble
attrs 22.2, publié le 21 décembre 2022, ajoute l'option alias pour renommer les champs à l'initialisation.
Fonctionnalités principales
Alias de champ
L'option alias permet de définir un nom alternatif pour le paramètre du constructeur, utile pour les API JSON ou les noms réservés Python.
python
import attrs
@attrs.define
class Item:
name: str
class_: str = attrs.field(alias='class')
# Utilisation avec le nom alias
item = Item(name='widget', **{'class': 'premium'})
print(item.class_) # 'premium'
Améliorations internes
Le code interne utilise désormais les slots par défaut avec attrs.define, améliorant la performance et réduisant la consommation mémoire.
python
import attrs
# attrs.define utilise les slots par défaut
@attrs.define
class Coord:
x: float
y: float
z: float = 0.0
c = Coord(1.0, 2.0)
print(c.__slots__) # ('x', 'y', 'z')
