.. _bag_book/bag/set_get: Scrivere e leggere valori ========================= .. toctree:: :maxdepth: 1 :hidden: :titlesonly: scrittura lettura chiavi_replicate digest Abbiamo detto che si possono inserire valori nelle bag con la sintassi a parentesi quadre come si farebbe con un dizionario, ma esistono due metodi specifici e piĆ¹ espressivi per andare a riempire una Bag. ``setItem`` e ``getItem```. Il metodo ``setItem`` prende come primo parametro la *label* o *path* (se parliamo di Bag gerarchica) e secondo parametro il valore. Rispetto all'accesso con le parentesi quadre questo metodo consente di scrivere contestualmente anche gli *attributes* come *kwargs* (parametri nominati). >>> mybag = Bag() >>> mybag.setItem('italy',None, population=60795612, language='Italian', capital='Rome') >>> mybag.setItem('italy.regions.lombardy',Bag(), population=10001496, capital='Milan') >>> mybag.setItem('italy.regions.tuscany',Bag(), population=3749430, capital='Florence') >>> regions = mybag.getItem('italy.regions') >>> lom_bag = regions.getItem('lombardy') >>> tus_bag = regions['tuscany'] >>> tus_bag.setItem('cities.florence', None, populaltion=381678) Se stampo ``mybag`` ottengo questo >>> print mybag :: 0 - (Bag) italy: 0 - (Bag) regions: 0 - (Bag) lombardy: 1 - (Bag) tuscany: 0 - (Bag) cities: 0 - (None) florence: None .. sectionauthor:: Giovanni Porcari