test_compare.py
来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 57 行
PY
57 行
import sysfrom test_support import *class Empty: def __repr__(self): return '<Empty>'class Coerce: def __init__(self, arg): self.arg = arg def __repr__(self): return '<Coerce %s>' % self.arg def __coerce__(self, other): if isinstance(other, Coerce): return self.arg, other.arg else: return self.arg, otherclass Cmp: def __init__(self,arg): self.arg = arg def __repr__(self): return '<Cmp %s>' % self.arg def __cmp__(self, other): return cmp(self.arg, other)candidates = [2, 2.0, 2L, 2+0j, [1], (3,), None, Empty(), Coerce(2), Cmp(2.0)]def test(): for a in candidates: for b in candidates: try: x = a == b except: print 'cmp(%s, %s) => %s' % (a, b, sys.exc_info()[0]) else: if x: print "%s == %s" % (a, b) else: print "%s != %s" % (a, b) # Ensure default comparison compares id() of args L = [] for i in range(10): L.insert(len(L)//2, Empty()) for a in L: for b in L: if cmp(a, b) != cmp(id(a), id(b)): print "ERROR:", cmp(a, b), cmp(id(a), id(b)), id(a), id(b)test()
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?