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łanie f(r) zwraca r.,

  • Pog = 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łanie f(b) zwraca b.name().,

  • After f = methodcaller('name', 'foo', bar=1), the call f(b)returns b.name('foo', bar=1).

Equivalent to:

def methodcaller(name, /, *args, **kwargs): def caller(obj): return getattr(obj, name)(*args, **kwargs) return caller

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *