2017-02-06 1 views
2

Ich habe eine neue Klasse erstellt und möchte definieren, wie man [] verwendet, um Dinge daraus auszuwählen. Gibt es eine Möglichkeit, das zu tun?Wie kann ich die Auswahl mit [] für eine neue Klasse definieren?

class NewClass: 
    def __init__(self, list): 
     self.list_item = list 

    # def __indexer__(self, slice_object): 
    #  return list[slice_object] 

example = NewClass(range(0, 5)) 
print example[0:3] 
+0

Werfen Sie einen Blick auf diesen Abschnitt der Dokumentation: https://docs.python.org/3.6/reference/datamodel.html#object.__getitem__ –

Antwort

4

Sicher, es heißt __getitem__.

class NewClass(object): 
    def __init__(self, list): 
     self.list_item = list 
    def __getitem__(self, slice_object): 
     return self.list_item[slice_object] 

example = NewClass(range(0, 5)) 
print(example[0:3]) 
Verwandte Themen