3.3 operator:内置操作符的函数接口
使用迭代器编程时,有时需要为简单的表达式创建小函数。有些情况下,尽管这确实可以被实现为lambda函数,但某些操作根本不需要新函数。operator模块定义了一些函数,可以对应标准对象API中内置的算术、比较和其他操作。
3.3.1 逻辑操作
有些函数可以用来确定一个值的相应布尔值,将其取反以创建相反的布尔值,以及比较对象以查看它们是否相等。
from operator import *
a = -1
b = 5
print('a =',a)
print('b =',b)
print()
print('not_(a) :',not_(a))
print('truth(a) :',truth(a))
print('is_(a,b) :',is_(a,b))
print('is_not(a,b):',is_not(a,b))
not_()后面有下划线,因为not是一个python关键字。在if语句中测试一个表达式或将一个表达式转换为一个bool时会使用某种逻辑,truth()会应用与之相同的逻辑。is_()实现了is关键字使用的检查,is_not()完成同样的测试,不过返回相反的答案。
运行结果: