Aiyuqianer

今天在学习为深度学习数据预处理的时候用了一下“__getitem__"方法,发现还挺好用,下面详细解释一下。

__getitem__(self,key):

把类中的属性定义为序列,可以使用__getitem__()函数输出序列属性中的某个元素,这个方法返回与指定键想关联的值。对序列来说,键应该是0~n-1的整数,其中n为序列的长度。对映射来说,键可以是任何类型。

如果在类中定义了__getitem__()方法,那么它的实例对象(假设为P)就可以以P[key]形式取值,当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。当对类的属性进行下标的操作时,首先会被__getitem__() 拦截,从而执行在__getitem__()方法中设定的操作,如赋值,修改内容,删除内容等。

class Taget:
    def __init__(self,id):
        self.id=id
 
    def __getitem__(self, item):
        print(\'这个方法被调用\')
        return self.id
 
a=Taget(\'This is id\')
print(a.id)
print(a[\'python\'])

>输出:
\'这个方法被调用\'
\'This is id\'

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2021-09-12
  • 2021-08-15
  • 2021-05-14
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-12
  • 2022-12-23
  • 2021-10-12
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-08-25
相关资源
相似解决方案