En Python, los métodos Dunder son aquellos métodos que tienen dos prefijos y guiones bajos en el nombre del método. También se les llama métodos mágicos . Dunder significa » guiones bajos dobles «. Se utilizan comúnmente para la sobrecarga del operador. Estos métodos no son invocados directamente por el usuario, sino que son llamados o invocados internamente desde la clase. Algunos ejemplos de métodos de Dunder son __init__, __repr__, __getslice__, __getitem__
.
__getslice__()
__getslice__(self, i, j) se llama cuando self[i:j]
se invoca el operador de corte, es decir, en un objeto. El objeto devuelto debe ser del mismo tipo que self. Se puede utilizar tanto en secuencias mutables como inmutables.
Nota: __getslice__
está en desuso desde Python 2.0 y en Python 3.x no está disponible. En lugar de esto, usamos el método __getitem__ en python 3.x
Ejemplo 1:
# program to demonstrate __getslice__ method class MyClass: def __init__(self, string): self.string = string # method for creating list of words def getwords(self): return self.string.split() # method to perform slicing on the # list of words def __getslice__(self, i, j): return self.getwords()[max(0, i):max(0, j)] # Driver Code if __name__ == '__main__': # object creation obj = MyClass("Hello World ABC") # __getslice__ method called internally # from the class sliced = obj[0:2] # print the returned output # return type is list print(sliced)
PRODUCCIÓN
['Hello', 'World']
Ejemplo 2:
# program to demonstrate __getslice__ method class MyClass: def __init__(self, string): self.string = string # method for creating list of words def getwords(self): return self.string.split() # method to perform slicing on # the list of words def __getslice__(self, i, j): return self.getwords()[max(0, i):max(0, j)] # Driver Code if __name__ == '__main__': # object creation obj = MyClass("Hello World ABC") # __getslice__ method called internally # from the class sliced = obj[0:0] # print the returned output # return type is list print(sliced)
PRODUCCIÓN
[]
Publicación traducida automáticamente
Artículo escrito por nishthagoel712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA