kod źródłowy: Lib/operator.py
modułoperator eksportuje zestaw efektywnych funkcji odpowiadających wewnętrznym operatorom Pythona. Na przykład operator.add(x, y) jest równoważne wyrażeniu x+y. Wiele nazw funkcji jest używanych w metodach specjalnych, bez podwójnego podkreślenia. Ze względu na wsteczną kompatybilność,wiele z nich posiada wariant z zachowanymi podwójnymi podkreślnikami., Dla jasności preferowane są warianty bez podwójnego podkreślenia.
funkcje dzielą się na kategorie, które dokonują porównań obiektów, operacji logicznych, operacji matematycznych i operacji sekwencyjnych., id=”84ef065d38″>__ne__(a, b)¶ operator.__ge__(a, b)¶ operator.__gt__(a, b)¶
The logical operations are also generally applicable to all objects, and supporttruth tests, identity tests, and boolean operations:
operator.not_(obj)¶operator.__not__(obj)¶operator.truth(obj)¶
Return True if obj is true, and False otherwise., This isequivalent to using the bool constructor.
operator.is_(a, b)¶
Return a is b. Tests object identity.
operator.is_not(a, b)¶
Return a is not b. Tests object identity.
The mathematical and bitwise operations are the most numerous:
operator.abs(obj)¶operator.__abs__(obj)¶
Return the absolute value of obj.,
operator.add(a, b)¶operator.__add__(a, b)¶
Return a + b, for a and b numbers.
operator.and_(a, b)¶operator.__and__(a, b)¶
Return the bitwise and of a and b.
operator.floordiv(a, b)¶operator.__floordiv__(a, b)¶
Return a // b.,
operator.index(a)¶operator.__index__(a)¶
Return a converted to an integer. Equivalent to a.__index__().
operator.inv(obj)¶operator.invert(obj)¶operator.__inv__(obj)¶operator.__invert__(obj)¶
Return the bitwise inverse of the number obj. This is equivalent to ~obj.,
operator.lshift(a, b)¶operator.__lshift__(a, b)¶
Return a shifted left by b.
operator.mod(a, b)¶operator.__mod__(a, b)¶
Return a % b.
operator.mul(a, b)¶operator.__mul__(a, b)¶
Return a * b, for a and b numbers.,
operator.matmul(a, b)¶operator.__matmul__(a, b)¶
Return a @ b.
New in version 3.5.
operator.neg(obj)¶operator.__neg__(obj)¶
Return obj negated (-obj).
operator.or_(a, b)¶operator.__or__(a, b)¶
Return the bitwise or of a and b.,
operator.pos(obj)¶operator.__pos__(obj)¶
Return obj positive (+obj).
operator.pow(a, b)¶operator.__pow__(a, b)¶
Return a ** b, for a and b numbers.
operator.rshift(a, b)¶operator.__rshift__(a, b)¶
Return a shifted right by b.,
operator.sub(a, b)¶operator.__sub__(a, b)¶
Return a - b.
operator.truediv(a, b)¶operator.__truediv__
(a, b)¶
Return a / b where 2/3 is .66 rather than 0. This is also known as”true” division.
operator.xor(a, b)¶operator.__xor__(a, b)¶
Return the bitwise exclusive or of a and b.,
operacje, które działają z sekwencjami (niektóre z nich również z mapowaniem) obejmują:
operator.concat(a, b)¶operator.__concat__(a, b)¶
return a + b dla sekwencji a i B.
operator.contains(a, b)¶operator.__contains__(a, b)¶
zwraca wynik testu b in a. Zwróć uwagę na odwrócone operandy.,
operator.countOf(a, b)¶
Zwraca liczbę wystąpień b W a.
operator.delitem(a, b)¶ iv id
__delitem__(a, b)¶
usuń wartość a w indeksie b.
operator.getitem(a, b)¶ operator.__getitem__(a, b)¶
zwraca wartość a w indeksie b.
operator.indexOf(a, b)¶
zwraca indeks pierwszego wystąpienia b w a.,
operator.setitem(a, b, c)¶ operator.__setitem__(A, b, c)¶
ustaw wartość a w indeksie B na c.
operator.length_hint(obj, default=0)¶
zwraca szacunkową długość obiektu o. najpierw spróbuj zwrócić jego aktualną Długość, a następnie oszacuj używając object.__length_hint__() i ostatecznie zwróć wartość domyślną.
nowość w wersji 3.4.
modułoperator definiuje również narzędzia dla uogólnionych atrybutów i itemlookupów., Są one przydatne do tworzenia szybkich ekstraktorów pól jako argumentów dlamap(),sorted(),itertools.groupby() lub innych funkcji, które wywołują argument funkcji.
operator.attrgetter(attr)¶operator.attrgetter(*attrs)
zwraca obiekt, który pobiera attr z jego operandu.Jeśli wymagane jest więcej niż jeden atrybut, zwraca krotkę atrybutów.Nazwy atrybutów mogą również zawierać kropki., Na przykład:
odpowiednik:
operator.itemgetter(item)¶ operator.itemgetter(*items)
zwraca obiekt wywołujący, który pobiera element z jego operandu przy użyciu metody __getitem__(). Jeśli podano wiele pozycji, zwraca krotkę wartości wyszukiwania. Na przykład:
-
Po
f = itemgetter(2), wywołanief(r)zwracar., -
Po
g = itemgetter(2, 5, 3)wywołanieg(r)zwraca(r, r, r).
odpowiednik:
pozycje mogą być dowolnego typu akceptowanego przez metodę__getitem__(). Słowniki akceptują dowolną wartość hashowalną., Listy, krotki istringi akceptują indeks lub wycinek:
>>> soldier = dict(rank='captain', name='dotterbart')>>> itemgetter('rank')(soldier)'captain'
przykład użycia itemgetter() do pobierania określonych pól z rekordu:
operator.methodcaller(name,/, *args, **kwargs)¶
zwraca obiekt, który wywołuje nazwę metody w jej operandie. Jeśli podane zostaną dodatkowe argumenty i/lub argumenty słów kluczowych, zostaną one również podane do metody. Na przykład:
-
Po
f = methodcaller('name')wywołanief(b)zwracab.name()., -
After
f = methodcaller('name', 'foo', bar=1), the callf(b)returnsb.name('foo', bar=1).
Equivalent to:
def methodcaller(name, /, *args, **kwargs): def caller(obj): return getattr(obj, name)(*args, **kwargs) return caller