我们从Python开源项目中,提取了以下18个代码示例,用于说明如何使用operator.is_not()。
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 test_is_not(self): a = b = 'xyzpdq' c = a[:3] + b[3:] self.assertRaises(TypeError, operator.is_not) self.assertFalse(operator.is_not(a, b)) self.assertTrue(operator.is_not(a,c))
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 test_is(self): a = b = 'xyzpdq' c = a[:3] + b[3:] self.assertRaises(TypeError, operator.is_) self.assertTrue(operator.is_(a, b)) self.assertFalse(operator.is_(a,c)) #brython fix me (syntax error) #def test_is_not(self): # a = b = 'xyzpdq' # c = a[:3] + b[3:] # self.assertRaises(TypeError, operator.is_not) # self.assertFalse(operator.is_not(a, b)) # self.assertTrue(operator.is_not(a,c))
def iter_compare_dicts(dict1, dict2, only_common_keys=False, comparison_op=operator.ne): """ A generator for comparation of values in the given two dicts. Yields the tuples (key, pair of values positively compared). By default, the *difference* of values is evaluated using the usual != op, but can be changed by passing other comparison_op (a function of two arguments returning True/False). For example: operator.eq for equal values, operator.is_not for not identical objects. You can also require comparison only over keys existing in both dicts (only_common_keys=True). Otherwise, you will get the pair with the Python built-in Ellipsis placed for dict with that key missing. (Be sure to test for Ellipsis using the 'is' operator.) >>> d1 = dict(a=1, b=2, c=3) >>> d2 = dict(a=1, b=20, d=4) >>> dict(iter_compare_dicts(d1, d2, only_common_keys=True)) {'b': (2, 20)} >>> dict(iter_compare_dicts(d1, d2, only_common_keys=True, comparison_op=operator.eq)) {'a': (1, 1)} >>> dict(iter_compare_dicts(d1, d2)) {'c': (3, Ellipsis), 'b': (2, 20), 'd': (Ellipsis, 4)} >>> dict(iter_compare_dicts(d1, d2, comparison_op=operator.eq)) {'a': (1, 1), 'c': (3, Ellipsis), 'd': (Ellipsis, 4)} """ keyset1, keyset2 = set(dict1), set(dict2) for key in (keyset1 & keyset2): pair = (dict1[key], dict2[key]) if reduce(comparison_op, pair): yield key, pair if not only_common_keys: for key in (keyset1 - keyset2): yield key, (dict1[key], Ellipsis) for key in (keyset2 - keyset1): yield key, (Ellipsis, dict2[key])
def get_links(url, html): # ????????? d = pq(html).make_links_absolute(base_url=url) key_node = d('body a') urls = set(d(node).attr('href') for node in key_node) non_none = filter(partial(is_not, None), urls) links = [url for url in non_none if url.startswith(base_url) and url.endswith('.shtml')] return links
def remove_none(res): return filter(partial(is_not, None), res)