Python 3/Säiliö

Säiliö (container) on olio, joka on kokoelma muita olioita. Säiliöstä voi mahdollisesti hakea, asettaa ja poistaa alkion []-operaattorilla, tutkia sisältääkö se oliota in-operaattorilla ja hakea koon len-operaattorilla. Nämä toteutetaan lisäämällä olioon seuraavat metodit.


MetodiKuvausToteuteuttaa syntaksin
__getitem__(self, avain)Hakee annettua avainta vastaavan arvon.arvo = säiliö[avain]
__setitem__(self, avain, arvo)Asettaa arvon annetulle avaimelle.säiliö[avain] = arvo
__delitem__(self, avain)Poistaa avaimen ja arvon säiliöstä.del säiliö[avain]
__len__(self)Palauttaa säiliön alkioiden määrän.len(säiliö)
__contains__(self)Testaa sisältääkö säiliö alkoita.alkio in säiliö

Yksinkertainen esimerkki, joka ainoastaan käärii listan olioon.

class Säiliö:
    def __init__(self):
        sisältö = []
        
    def __getitem__(self, avain):
        return self.sisältö[avain]
    
    def __setitem__(self, avain, arvo):
        self.sisältö[avain] = arvo
        
    def __delitem__(self, avain):
        del self.sisältö[avain]

    def __len__(self, avain):
        return len(self.sisältö)

    def __contains__(self, avain):
        return avain in self.sisältö



Luokka:Python 3#Säiliö Luokka:Python#Säiliö
Luokka:Python Luokka:Python 3