Open In App

Implementing slicing in __getitem__

The __getitem__ method is used for accessing list items, array elements, dictionary entries etc. slice is a constructor in Python that creates slice object to represent set of indices that the range(start, stop, step) specifies. __getitem__ method can be implement in a class, and the behavior of slicing can be defined inside it.

Syntax:



__getitem__(slice(start, stop, step))

Parameter:

Example 1:




# abcde is string can be 
# an array as well.
sliced ='abcde'.__getitem__(slice(0, 2, 1)) 
print(sliced)

Output



ab

Explanation:
The string abcde is sliced with starting index 0 and stop index 2 with step index 1 hence it slices ab from the string and prints the output.

Example 2:




class Demo:
    def __getitem__(self, key):
          
        # print a[1], a[1, 2], 
        # a[1, 2, 3]
        print(key)
          
        return key
a = Demo()
  
# => slice 1
a[1]
  
# => slice(1, 2)
a[1, 2]
  
# => (1, 2, 3)
a[1, 2, 3]

Output

1
(1, 2) 
(1, 2, 3)

Explanation:
The class demo has the __getitem__ method, slicing is comma-separated. Key prints the sliced object which is passed in class through variable a.


Article Tags :