zoukankan      html  css  js  c++  java
  • Python2.7-operator

    operator 模块,没有什么特殊的,简单说就是把常用的数学计算符号(+,-,*,**,/,<<,>>等)逻辑运算(or,and,xor,is,is_not)等以函数形式表示了。此外还有一些对序列(sequence)的操作函数,对对象的操作函数。所有这些函数都是可以在编写自己的类的时候定义的(前后“__”),定义后就可以直接用符号进行运算。

    1、模块特殊函数:都返回一个可调用对象,可以用于 map(), sorted(), itertools.groupby() 等接受一个函数对象作为参数的函数

    operator.attrgetter(*attrs):返回对象的对应属性
    operator.itemgetter(*items):返回对象对应位置的值,相当于 __getitem__() 方法
    operator.methodcaller(name[, args...]):返回对象的对应方法函数,额外输入的 args 会作为此方法的默认参数

    2、模块常规函数及对应符号:

    OperationSyntaxFunction
    Addition b add(a, b)
    Concatenation seq1 seq2 concat(seq1, seq2)
    Containment Test obj in seq contains(seq, obj)
    Division b div(a, b) (without __future__.division)
    Division b truediv(a, b) (with __future__.division)
    Division // b floordiv(a, b)
    Bitwise And b and_(a, b)
    Bitwise Exclusive Or b xor(a, b)
    Bitwise Inversion a invert(a)
    Bitwise Or b or_(a, b)
    Exponentiation ** b pow(a, b)
    Identity is b is_(a, b)
    Identity is not b is_not(a, b)
    Indexed Assignment obj[k] v setitem(obj, k, v)
    Indexed Deletion del obj[k] delitem(obj, k)
    Indexing obj[k] getitem(obj, k)
    Left Shift << b lshift(a, b)
    Modulo b mod(a, b)
    Multiplication b mul(a, b)
    Negation (Arithmetic) a neg(a)
    Negation (Logical) not a not_(a)
    Positive a pos(a)
    Right Shift >> b rshift(a, b)
    Sequence Repetition seq i repeat(seq, i)
    Slice Assignment seq[i:j] values setitem(seq, slice(i, j), values)
    Slice Deletion del seq[i:j] delitem(seq, slice(i, j))
    Slicing seq[i:j] getitem(seq, slice(i, j))
    String Formatting obj mod(s, obj)
    Subtraction b sub(a, b)
    Truth Test obj truth(obj)
    Ordering b lt(a, b)
    Ordering <= b le(a, b)
    Equality == b eq(a, b)
    Difference != b ne(a, b)
    Ordering >= b ge(a, b)
    Ordering b gt(a, b)

    3、混合赋值函数都是在对应操作方法前加个 i,and、or、is 还要把结尾的“_”去掉

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    JS原生隐士标签扩展
    Asp.Net MVC强类型页面获取值几种方式
    Asp.Net MVC控制器获取视图传值几种方式
    vs2015 创建MVC项目
    C#后台HttpWebRequest模拟跨域Ajax请求,注册Windows服务到服务器上
    EF简介及CRUD简单DEMO
    Impala学习--代码生成(Code Generation)
    Impala源代码分析(2)-SQL解析与执行计划生成
    Impala源代码分析(3)-backend查询执行过程
    Impala源代码分析(1)-Impala架构和RPC
  • 原文地址:https://www.cnblogs.com/tccbj/p/8283061.html
Copyright © 2011-2022 走看看