我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用operator.truth()。
def test_operator(self): import operator self.assertIs(operator.truth(0), False) self.assertIs(operator.truth(1), True) with test_support.check_py3k_warnings(): self.assertIs(operator.isCallable(0), False) self.assertIs(operator.isCallable(len), True) self.assertIs(operator.isNumberType(None), False) self.assertIs(operator.isNumberType(0), True) self.assertIs(operator.not_(1), False) self.assertIs(operator.not_(0), True) self.assertIs(operator.isSequenceType(0), False) self.assertIs(operator.isSequenceType([]), True) self.assertIs(operator.contains([], 1), False) self.assertIs(operator.contains([1], 1), True) self.assertIs(operator.isMappingType(1), False) self.assertIs(operator.isMappingType({}), True) self.assertIs(operator.lt(0, 0), False) self.assertIs(operator.lt(0, 1), True) self.assertIs(operator.is_(True, True), True) self.assertIs(operator.is_(True, False), False) self.assertIs(operator.is_not(True, True), False) self.assertIs(operator.is_not(True, False), True)
def number_of_args(fn): """Return the number of positional arguments for a function, or None if the number is variable. Looks inside any decorated functions.""" try: if hasattr(fn, '__wrapped__'): return number_of_args(fn.__wrapped__) if any(p.kind == p.VAR_POSITIONAL for p in signature(fn).parameters.values()): return None else: return sum(p.kind in (p.POSITIONAL_ONLY, p.POSITIONAL_OR_KEYWORD) for p in signature(fn).parameters.values()) except ValueError: # signatures don't work for built-in operators, so check for a few explicitly UNARY_OPS = [len, op.not_, op.truth, op.abs, op.index, op.inv, op.invert, op.neg, op.pos] BINARY_OPS = [op.lt, op.le, op.gt, op.ge, op.eq, op.ne, op.is_, op.is_not, op.add, op.and_, op.floordiv, op.lshift, op.mod, op.mul, op.or_, op.pow, op.rshift, op.sub, op.truediv, op.xor, op.concat, op.contains, op.countOf, op.delitem, op.getitem, op.indexOf] TERNARY_OPS = [op.setitem] if fn in UNARY_OPS: return 1 elif fn in BINARY_OPS: return 2 elif fn in TERNARY_OPS: return 3 else: raise NotImplementedError("Bult-in operator {} not supported".format(fn))
def boolean(value, _truefalse=(False, True)): """Convert any Python value to XML-RPC 'boolean'.""" return _truefalse[operator.truth(value)] ## # Wrapper for XML-RPC DateTime values. This converts a time value to # the format used by XML-RPC. # <p> # The value can be given as a string in the format # "yyyymmddThh:mm:ss", as a 9-item time tuple (as returned by # time.localtime()), or an integer value (as returned by time.time()). # The wrapper uses time.localtime() to convert an integer to a time # tuple. # # @param value The time, given as an ISO 8601 string, a time # tuple, or a integer time value.
def __init__(self, value = 0): self.value = operator.truth(value)
def boolean(value, _truefalse=(False, True)): """Convert any Python value to XML-RPC 'boolean'.""" return _truefalse[operator.truth(value)]
def alive(self): """does the sprite belong to any groups Sprite.alive(): return bool Returns True when the Sprite belongs to one or more Groups. """ return truth(self.__g)
def __nonzero__(self): return truth(self.sprites())
def getTcpNoDelay(self): return operator.truth(self.socket.getsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY))
def getTcpKeepAlive(self): return operator.truth(self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE))
def setLoopbackMode(self, mode): mode = struct.pack("b", operator.truth(mode)) self.socket.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, mode)
def test_bool_values(self): from operator import truth for t, v in zip(bool_types, bool_values): self.assertEqual(t(v).value, truth(v))
def setDrawer(self, *args): if args: # divide the arguments into qualifieds or unqualifieds (qualifieds, unqualifieds) = \ hvutil.partition(operator.methodcaller('group', 'yAx'), filter(operator.truth, map(re.compile(r"^((?P<yAx>[^:]+):)?(?P<method>lines|points|both)$", re.I).match, args))) # Make sure that every entry matched if (len(qualifieds)+len(unqualifieds))!=len(args): raise RuntimeError, "Invalid draw method(s) specified; use Lines, Points or Both" # Depending in which one is the empty list we do things # and we complain loudly + bitterly if they're both non-empty ... if qualifieds and not unqualifieds: for qual in qualifieds: ax = qual.group('yAx') if ax not in self.yAxis: raise RuntimeError, "The current plot type has no panel for {0}".format( ax ) yIdx = self.yAxis.index( ax ) dm = qual.group('method').capitalize() self.drawers[yIdx] = self.drawDict[ dm ] self.drawMethod[yIdx] = dm elif unqualifieds and not qualifieds: # all unqualified. Only acceptable: 1 unqualified or nYAxis unqualifieds if len(unqualifieds)!=len(self.yAxis) and len(unqualifieds)!=1: raise RuntimeError, "Incorrect number of drawing methods supplied for plot type (either 1 or {0})".format(len(self.yAxis)) # if there's just one, replicate to len yAxis methods = unqualifieds if len(unqualifieds)==len(self.yAxis) else [unqualifieds[0]] * len(self.yAxis) for (idx, method) in enumerate(methods): dm = method.group('method').capitalize() self.drawers[idx] = self.drawDict[ dm ] self.drawMethod[idx] = dm else: raise RuntimeError, "You cannot mix qualified axis drawing methods with unqualified ones" return " ".join(map(":".join, zip(self.yAxis, self.drawMethod))) # want to fix the scale of the axes? # can give either: # Scaling.auto_global, Scaling.auto_local or [<min>, <max>] # There's no asserts being done - you'll find out at runtime if # it's been set to something "the system" doesn't grok ...
def all_exited(runlist): runs = [u.isAlive() or not u.exited for u in runlist] runs = filter(truth,runs) return len(runs)
def test_truth(self): class C(object): def __bool__(self): raise SyntaxError self.assertRaises(TypeError, operator.truth) self.assertRaises(SyntaxError, operator.truth, C()) self.assertTrue(operator.truth(5)) self.assertTrue(operator.truth([0])) self.assertFalse(operator.truth(0)) self.assertFalse(operator.truth([]))
def test_operator(self): import operator self.assertIs(operator.truth(0), False) self.assertIs(operator.truth(1), True) self.assertIs(operator.not_(1), False) self.assertIs(operator.not_(0), True) self.assertIs(operator.contains([], 1), False) self.assertIs(operator.contains([1], 1), True) self.assertIs(operator.lt(0, 0), False) self.assertIs(operator.lt(0, 1), True) self.assertIs(operator.is_(True, True), True) self.assertIs(operator.is_(True, False), False) self.assertIs(operator.is_not(True, True), False) self.assertIs(operator.is_not(True, False), True)
def split_and_remove_empty_lines(s): return filter(operator.truth, s.split("\n"))
def test_truth(self): class C(object): def __nonzero__(self): raise SyntaxError self.assertRaises(TypeError, operator.truth) self.assertRaises(SyntaxError, operator.truth, C()) self.assertTrue(operator.truth(5)) self.assertTrue(operator.truth([0])) self.assertFalse(operator.truth(0)) self.assertFalse(operator.truth([]))
def __init__(self, value=0): self.value = operator.truth(value)
def _lineClean(L): return ' '.join(list(filter(truth,split(strip(L)))))
def cleanBlockQuotedText(text,joiner=' '): """This is an internal utility which takes triple- quoted text form within the document and returns (hopefully) the paragraph the user intended originally.""" L=list(filter(truth,list(map(_lineClean, split(text, '\n'))))) return joiner.join(L)