首页 > 代码库 > operator模块

operator模块

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = ‘Administrator‘ #operator模块 #作用:内置操作符函数接口 #版本:1.4加入 #它提供了一些对应算术运算和内置操作函数的方法 #逻辑操作  #一些函数可以用来确定一个值的相应Boolean值,将其取反来创建相反Boolean值 ,以及比较对象查看它们是否相等 from operator import * a=1 b=-5 print a print b print not_(a) print truth(a) print is_(a,b) print is_not(a,b) """ not_()后面带个下划线,因为not是个关键字,truth()会应用if语句中测试一个表达式时所用同样的逻辑,is_(),因为is是关键字,is_not()相反 """ #比较操作符 #所有富比较操作都支持 for func in (lt,le,eq,ne,ge,gt):     print ‘%s(a,b):‘%func.__name__,func(a,b)

""" lt< le<= eq== ne>= ge> """ #算术运算 from operator import * a=-1 b=5. c=2 d=6 print a,b,c,d print abs(a),neg(a),neg(b),pos(a),pos(b) #返回的绝对值obj #返回相反的值(-obj) #返回正面的(+ obj)值 print add(a,b)#相加 print div(a,b)#经典除 print floordiv(a,b)#浮点除 print mod(a,b)#a%b print mul(a,b)#a*b print pow(a,b)#a**b print sub(a,b)#a-b print truediv(a,b)#真正的除 #python中有2个不同除法的操作符:flordiv()在3.0之前实现整数除法和truediv()浮点除法 print add(1,2) print ‘is_‘ print not_(a) print is_not(a,b) print invert(a)#~ obj print lshift(c,d)#左移 print rshift(c,d)#右移 print xor(c,d)#返回的按位异或一个和b #序列操作符 #4组:建立序列,搜索元素,访问内容,从序列中删除元素 a1=[1,2,3] d1=[‘a‘,‘b‘,‘c‘] print a1 print d1 print coerce(a1,d1)#合并成一个元组 print repeat(a1,3)#重复次数 print contains(d1,‘b‘)#返回的结果测试b 在 一个 print countOf(d1,‘d‘)#出现的次数b在一个 print indexOf(a1,1)#返回索引的第一个出现的b在一个 print getitem(d1,1)#返回值的一个在指数b print getslice(a1,1,3)#返回的一个从指数b索引c-1 setitem(d1,1,‘d‘)#设定的值一个在指数b来c setslice(a1,1,3,[4,5])#设置片一个从指数b索引c-1序列v delitem(d1,1)#删除的值一个在指数b #原地操作符(如+=) #iconcat(a,b)相当于一个 + = b为一个和b序列 #属性和元素获取方法(重点) #获取方法是运行时构造的一些可架设对象,用来获取对象的属性或者序列内容,获取方法在处理迭代器或者生成器序列特别有用 #例子 class Ojb(object):     def __init__(self,arg):         super(Ojb,self).__init__()         self.arg=arg     def __repr__(self):         return ‘%s‘%(self.arg) l=[Ojb(i)for i in xrange(5)] print l g=attrgetter(‘arg‘) valkes=[g(i)for i in l] print valkes print sorted(l,key=g) #属性获取方法工作类似于lambda x,n=‘attrname‘:getattr(x,n) #元素获取方法工作类似于lambda x,y=5:x[y] l=[dict(val=-1*i)for i in xrange(4)] print l g=itemgetter(‘val‘)#获取返回一个可调用对象项从其操作数使用 操作数的__getitem__()方法。 如果指定了多个项目, 返回一个元组查找的值。 valkes=[g(i)for i in l] print valkes #除了以上序列外,还支持映射方式 #更多operator模块内容,请看官方文档 #https://docs.python.org/2.7/library/operator.html?highlight=operator#operator