Open In App

Implementing slicing in __getitem__

Last Updated : 26 Mar, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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:

  • slice() : constructor to create slice object.
  • start: An integer number specifying start index.It is optional and default is 0.
  • stop: An integer number specifying end index.
  • step: An integer number specifying the step of slicing. It is optional and
    default is 1.

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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads