zoukankan      html  css  js  c++  java
  • Python操作符重载总结&列表模型

    操作符重载

    二元运算符    特殊方法
    +    __add__,__radd__
    -    __sub__,__rsub__
    *    __mul__,__rmul__
    /    __div__,__rdiv__,__truediv__,__rtruediv__
    //    __floordiv__,__rfloordiv__
    %    __mod__,__rmod__
    **    __pow__,__rpow__
    <<    __lshift__,__rlshift__
    >>    __rshift__,__rrshift__
    &    __and__,__rand__
    ^    __xor__,__rxor__
    |    __or__,__ror__
    +=    __iaddr__
    -=    __isub__
    *=    __imul__
    /=    __idiv__,__itruediv__
    //=    __ifloordiv__
    %=    __imod__
    **=    __ipow__
    <<=    __ilshift__
    >>=    __irshift__
    &=    __iand__
    ^=    __ixor__
    |=    __ior__
    ==    __eq__
    !=,<>    __ne__
    >    __get__
    <    __lt__
    >=    __ge__
    <=    __le__
    Method            Overloads            Call for
    __init__        构造函数            X=Class()
    __del__            析构函数            对象销毁
    __add__            +                    X+Y,X+=Y
    __or__            |                    X|Y,X|=Y
    __repr__        打印转换            print X,repr(X)
    __str__            打印转换            print X,str(X)
    __call__        调用函数            X()
    __getattr_       限制                X.undefine
    __setattr__        取值                X.any=value
    __getitem__        索引                X[key],
                                
    __len__            长度                len(X)
    __cmp__            比较                X==Y,X<Y
    __lt__            小于                X<Y
    __eq__            等于                X=Y
    __radd__        Right-Side +            +X
    __iadd__        +=                    X+=Y
    __iter__        迭代                For In 

    python中的列表模型

    列表或者说数组是特殊的对象,一个栈内存中的变量对应着堆内存中的两个对象。

    我们可以通过列表的删除操作帮助我们理解python列表模型

    li = [1,2,3,4,5,6]

    # 1.使用del删除对应下标的元素
    del li[2]
    # li = [1,2,4,5,6]

    # 2.使用.pop()删除最后一个元素
    li.pop()
    # li = [1,2,4,5]

    # 3.删除指定值的元素
    li.remove(4)
    # li = [1,2,5]

    # 4.使用切片来删除
    li = li[:-1]
    # li = [1,2]
    # !!!切忌使用这个方法,如果li被作为参数传入函数,
    # 那么在函数内使用这种删除方法,将不会改变原list

    li = [1,2,3,4,5,6]
    def delete(li, index):
    li = li[:index] + li[index+1:]
    delete(li, 3)
    print li
    # 会输出[1,2,3,4,5,6]

    原因如图所示。

    对于普通概念,python只需要两个部分就可以表示了。但是对于一个数组,在python语言中表示为三个部分:

  • 相关阅读:
    xdebug安装教程
    如何查看Linux操作系统的位数
    getconf命令【一天一个命令】
    redis 数据类型详解 以及 redis适用场景场合
    Redis和Memcache对比及选择
    无交换机实现集群网络互联
    性能调优攻略
    Chrome 插件集推荐
    在 Linux 下将 PNG 和 JPG 批量互转的四种方法
    Flashback for MySQL 5.7
  • 原文地址:https://www.cnblogs.com/xinchrome/p/5068996.html
Copyright © 2011-2022 走看看