Quellcode: Lib/operator.py

Das Modul operator exportiert eine Reihe effizienter Funktionen, die den intrinsischen Operatoren von Python entsprechen. Zum Beispiel ist dem Ausdruck x+ygleichwertig. Viele Funktionsnamen werden fürspezielle Methoden, ohne die doppelten Unterstriche. Aus Gründen der Abwärtskompatibilität haben viele von ihnen eine Variante mit den doppelten Unterstrichen beibehalten., Die variantswithout die doppel unterstriche sind bevorzugt für klarheit.

Die Funktionen fallen in Kategorien, die Objektvergleiche, logische Operationen, mathematische Operationen und Sequenzoperationen durchführen., 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.,

Operationen, die mit Sequenzen arbeiten (einige davon auch mit Zuordnungen), umfassen:

operator.concat(a, b)¶operator.__concat__(a, b)¶

Return a + b für a-und b-Sequenzen.

operator.contains(a, b)¶operator.__contains__(a, b)¶

bringen Sie das Ergebnis des Tests b in a. Beachten Sie die umgekehrten Operanden.,

operator.countOf(a, b)¶

Gibt die Anzahl der Vorkommen von b in a.

operator.delitem(a, b)¶operator.(a, b)¶

Entfernen Sie den Wert von a bei Index b.

operator.getitem(a, b)¶operator.__getitem__(a, b)¶

Geben Sie den Wert von a bei Index b. p>operator.(a, b)¶

Gibt den Index des ersten Auftretens von b in a zurück.,

operator.setitem(a, b, c)¶operator.__setitem__(a, b, c)¶

Setzen Sie den Wert von a bei index b auf c.

operator.length_hint(obj, default=0)¶

Gibt eine geschätzte Länge für das Objekt zurück o. Versuchen Sie zuerst, seine tatsächliche Länge zurückzugeben, dann eine Schätzung mit object.__length_hint__() und geben Sie schließlich den Standardwert zurück.

Neu in version 3.4.

Das Modul operator definiert auch Werkzeuge für generalisierte Attribute und itemlookups., Diese sind nützlich, um schnelle Feldextraktoren als Argumente fürmap(), sorted(), itertools.groupby() oder andere Funktionen zu erstellenexpect ein Funktionsargument.

operator.attrgetter(attr)¶operator.attrgetter(*attrs)

Gibt ein aufrufbares Objekt zurück, das attr von seinem Operanden abruft.Wenn mehr als ein Attribut angefordert wird, wird ein Tupel von Attributen zurückgegeben.Die Attributnamen können auch Punkte enthalten., Beispiel:

Entspricht:

operator.itemgetter(item)¶operator.itemgetter(*items)

Gibt ein aufrufbares Objekt zurück, das ein Element mit der __getitem__() Methode. Wenn mehrere Elemente angegeben sind, wird ein Tupel von Nachschlagewerten zurückgegeben. Beispiel:

  • Nach f = itemgetter(2) gibt der Aufruf f(r) rzurück.,

  • Nach g = itemgetter(2, 5, 3) gibt der Aufruf g(r)(r, r, r)zurück.

Äquivalent zu:

Die Elemente können ein beliebiger Typ sein, der von der __getitem__() – Methode des Operanden akzeptiert wird. Wörterbücher akzeptieren jeden hashbaren Wert., Listen, Tupel und Strings akzeptieren einen Index oder ein Slice:

>>> soldier = dict(rank='captain', name='dotterbart')>>> itemgetter('rank')(soldier)'captain'

Beispiel für die Verwendung von itemgetter() zum Abrufen bestimmter Felder aus dem Atuple-Datensatz:

operator.methodcaller(name,/, *args, **kwargs)¶

Gibt ein aufrufbares Objekt zurück, das den Methodennamen seines Operanden aufruft. Ifadditional Argumente und/oder keyword-Argumente gegeben sind, werden Sie givento die Methode als gut. Beispiel:

  • Nach f = methodcaller('name') gibt der Aufruf f(b) b.name()zurück.,

  • 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.