Wednesday, October 6, 2010

operator

在 python 中支持很多的 operator,除了 C/C++ 系以外,还有比如指数之类的,这里简单的列一下:
  • +-*/% 对应的是 __add__、__sub__、__mul__、__div__、__mod__,特殊的取相反数使用的是__neg__、而 + 对应的为 __pos__;
  • 位运算对应的是 __and__、__or__、__inv__、__xor__、__lshift__、__rshift__
  • 逻辑运算对应的是 __truth__、not_、is_、is_not
  • abs 对应于 __abs__;pow 对应于 __pow__;
  • // 运算是整数除法,对应于 __floordiv;
  • __contains__ 返回 a in b
  • __delitem__ 是 del a[b];__getitem__ 是 a[b];__getslice__ 是 a[b:c];
  • 对应的 = 版本,如 += 就是 __iadd__ 这种命名方法;

另外 operator 还有一些产生 functor 的函数,如
  • attrgetter 可以用来返回访问元素的 functor,如 a=attrgetter( 'a' ),这样 a(f) 返回的就是 f.a;
  • itemgetter 是通过 index 访问元素的 functor;
  • methodcaller 可以访问某个成员函数;

No comments:

Post a Comment