zoukankan      html  css  js  c++  java
  • python学习(十二)--魔法方法

            魔法方法是指用__ __包起来的方法,可以不直接调用方法或者调用其它函数时会调用到对应的魔法方法。这种拼写表示名字有特殊含义,不要在自己的程序中使用这种名字。先对魔法方法的几个特点强调一下:
    • 魔法方法定义在class中;
    • 不需要直接调用;
    • Python的某些函数或者操作符会调用对应的魔法方法。
     
    基本序列的魔法方法
    • __len__(self)
            当用len()函数去获取一个对象的长度时,会调用该对象内部的__len__方法,这个方法就会返回集合中所含项目的数量。
    class Students(object):
        def __init__(self, *args):
            self.names = args
        def __len__(self):
            return len(self.names)
     
    >>> ss = Students('Bob', 'Alice', 'Tim')
    >>> print len(ss)
    3
    • __getitem__(self, key)
            凡是在类中定义了这个__getitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] 取值,当实例对象做p[key] 运算时,会调用类中的方法__getitem__。
    • __setitem__(self,key,value)
            只能为可以修改的对象定义这个方法。在类中定义了这个__setitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] = value赋值,当实例对象做p[key] =value 赋值运算时,会调用类中的方法__setitem__。
     
    • __delitem__(self,key)
            只能为可以修改的对象定义这个方法。在类中定义了这个__delitem__ 方法,那么它的实例对象(假定为p),当用del p[key]去删除时,会调用类中的方法__delitem__。
     
  • 相关阅读:
    angularjs中ng-repeat插入图片
    Torch not compiled with CUDA enabled
    ai 网格变换工具
    ai 网格变换工具
    最后的进入nms的shape数值是怎么来的
    问题import win32api windows下安装pycocotools
    问题、
    输入的图片size为什么是32的倍数,yolo各个模型层说明。upsample+route过程
    YOLO V3代码带注释-阅读笔记系列
    张量或维度表示数学理解思路
  • 原文地址:https://www.cnblogs.com/mujiujiu/p/9279994.html
Copyright © 2011-2022 走看看