math – Mathematical functions¶

zahlentheoretischen und Darstellung von Funktionen¶

math.ceil(x)¶

bringen Sie die Decke von x, die kleinste Ganzzahl, die größer oder gleich x ist.Wenn x ist nicht mit einem Schwimmer, die Delegierten x.__ceil__(), das sollte die Rückkehr einIntegral Wert.

math.comb(n, k)¶

Geben die Anzahl der Möglichkeiten zur Auswahl von k Elementen aus n Elementen ohne repetitionand ohne Auftrag.,

Wertet n! / (k! * (n - k)!) aus, wenn k <= n und wertet auf Null aus, wenn k > n.

Wird auch als Binomialkoeffizient bezeichnet, da er dem Koeffizienten des k-ten Terms in der Polynomausdehnung Desausdrucks (1 + x) ** n.

Löst TypeError aus, wenn eines der Argumente keine Ganzzahlen sind.Löst ValueError aus, wenn eines der Argumente negativ ist.

Neu in version 3.8.,

math.copysign(x, y)¶math.fabs(x)¶

Return the absolute value of x.

math.factorial(x)¶

Return x factorial as an integer. Raises ValueError if x is not integral oris negative.

Deprecated since version 3.9: Accepting floats with integral values (like 5.0) is deprecated.,

math.floor(x)¶math.fmod(x, y)¶

Zurück fmod(x, y), wie definiert durch die-Plattform C-Bibliothek. Beachten Sie, dass derPython-Ausdruck x % y möglicherweise nicht dasselbe Ergebnis zurückgibt. Die Absicht des Cstandards ist, dass fmod(x, y) genau (mathematisch; zu infiniteprecision) gleich x - n*y für einige ganzzahlige n, so dass das Ergebnis hatdas gleiche Vorzeichen wie x und die Größe kleiner als abs(y)., Pythons x % ygibt stattdessen ein Ergebnis mit dem Vorzeichen y zurück und ist möglicherweise nicht genau berechenbarfür Float-Argumente. Zum Beispiel ist fmod(-1e-100, 1e100) -1e-100, aberdas Ergebnis von Pythons -1e-100 % 1e100 ist 1e100-1e-100, die nicht genau als float dargestellt werden kann, und rundet auf die überraschende 1e100. Aus diesem Grund wird die Funktion fmod() bei der Arbeit mitfloats im Allgemeinen bevorzugt, während Pythons x % y bei der Arbeit mit Ganzzahlen bevorzugt wird.,

math.frexp(x)¶math.fsum(durchsuchbar)¶

Zurück eine genaue Gleitkomma-Summe der Werte in den durchsuchbar. Vermeidet Präzisionsverlust durch Verfolgung mehrerer Zwischenteilsummen:

>>> sum()0.9999999999999999>>> fsum()1.0

Die Genauigkeit des Algorithmus hängt von den arithmetischen Garantien IEEE-754 und demtypischen Fall ab, in dem der Rundungsmodus halb gerade ist., Bei einigen Nicht-Windowsbuilds verwendet die zugrunde liegende C-Bibliothek eine erweiterte Präzisionsaddition und kann gelegentlich eine Zwischensumme verdoppeln, wodurch sie in ihrem letzten signifikanten Bit deaktiviert wird.

Weitere Diskussionen und zwei alternative Ansätze finden Sie in den ASPN cookbookrecipes für eine genaue Gleitkomma-Summierung.

math.gcd(*Ganzzahlen)¶

Gibt den größten gemeinsamen Divisor der angegebenen ganzzahligen Argumente zurück.Wenn eines der Argumente ungleich Null ist, ist der zurückgegebene Wert der größtepositive Ganzzahl, die ein Divisor aller Argumente ist., Wenn alle Argumentensind Null, dann ist der zurückgegebene Wert 0. gcd() ohne argumentsreturns 0.

Neu in version 3.5.

Geändert in version 3.9: Unterstützung für eine beliebige Anzahl von Argumenten. Bisher wurden nur zwei Argumente unterstützt.

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶

Zurück True wenn die Werte a und b sind einander nah, undFalse sonst.,

Ob zwei Werte als nahe betrachtet werden oder nicht, wird nach vorgegebenen absoluten und relativen Toleranzen bestimmt.

rel_tol ist die relative Toleranz – es ist der maximal zulässige Unterschiedzwischen a und b, relativ zum größeren absoluten Wert von a oder b. Um beispielsweise eine Toleranz von 5% festzulegen, übergeben Sie rel_tol=0.05. Die defaulttolerance ist 1e-09, was sicherstellt, dass die beiden Werte gleich sindmit ungefähr 9 Dezimalstellen. rel_tol muss größer als Null sein.

abs_tol ist die minimale absolute Toleranz-nützlich für Vergleiche nahe Null., abs_tol muss mindestens Null sein.

Wenn keine Fehler auftreten, lautet das Ergebnis:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol).

Die IEEE 754-Sonderwerte von NaN, inf und -inf werden gemäß den IEEE-Regeln behandelt. Insbesondere wird NaN nicht berücksichtigtklose zu einem anderen Wert, einschließlich NaN. inf und -inf werden nur in ihrer Nähe betrachtet.

Neu in version 3.5.,

See also

PEP 485 – A function for testing approximate equality

math.isfinite(x)¶

Return True if x is neither an infinity nor a NaN, andFalse otherwise. (Note that 0.0 is considered finite.)

New in version 3.2.

math.isinf(x)¶

Return True if x is a positive or negative infinity, andFalse otherwise.,

math.isnan(x)¶

Zurück True falls x ein NaN (not a number), und False sonst.

math.isqrt(n)¶

Gibt die ganzzahlige Quadratwurzel der nichtnegativen Ganzzahl n zurück. Dies ist der Boden der genauen Quadratwurzel von n oder äquivalent der größten ganzen Zahl, so dass a2 ≤ n.

Für einige Anwendungen kann es bequemer sein, die geringsten ganzen Zahlen zu haben, so dass n ≤ a2, oder mit anderen Worten die Decke vondie genaue Quadratwurzel von n≤., Für positives n kann dies mita = 1 + isqrt(n - 1)berechnet werden.

Neu in version 3.8.

math.lcm(*Ganzzahlen)¶

Gibt das kleinste gemeinsame Vielfache der angegebenen ganzzahligen Argumente zurück.Wenn alle Argumente ungleich Null sind, ist der zurückgegebene Wert der kleinstepositive Ganzzahl, die ein Vielfaches aller Argumente ist. Wenn eines der Argumentsist Null, dann ist der zurückgegebene Wert 0. lcm() ohne argumentsreturns 1.

Neu in version 3.9.,

math.ldexp(x, i)¶

Zurück x * (2**i). Dies ist im Wesentlichen die Umkehrung der Funktionfrexp().

math.modf(x)¶

Gibt die gebrochenen und ganzzahligen Teile von x zurück.

Gibt den nächsten Gleitkommawert nach x in Richtung y zurück.

Wenn x gleich y ist, geben Sie y zurück.

Beispiele:

Siehe auch math.ulp().

Neu in version 3.9.,

math.perm(n, k=None)¶

Gibt die Anzahl der Möglichkeiten zur Auswahl von k Elementen aus n Elementen zurückohne Wiederholung und mit Reihenfolge.

Wertet n! / (n - k)! aus, wenn k <= n und wertet auf Null aus, wenn k > n.

Wenn k nicht angegeben ist oder None, dann ist k standardmäßig nund die Funktion gibt n!.

Löst TypeError aus, wenn eines der Argumente keine Ganzzahlen sind.Löst ValueError aus, wenn eines der Argumente negativ ist.,

Neu in version 3.8.

math.prod(iterierbar, *, start=1)¶

Berechnet das Produkt aller Elemente in der Eingabe durchsuchbar.Der Standardstartwert für das Produkt ist 1.

Wenn der Iterable leer ist, geben Sie den Startwert zurück. Diese Funktion ist speziell für die Verwendung mit numerischen Werten vorgesehen und kann nicht numerische Typen ablehnen.

Neu in version 3.8.

math.remainder(x, y)¶

Gibt den Rest von x im IEEE 754-Stil in Bezug auf y zurück., Für Finite x und finite ungleich Null y ist dies der Unterschied x - n*y, wobei n die nächste Ganzzahl ist der genaue Wert des Quotienten x /y. Wenn x / y genau auf halbem Weg zwischen zwei aufeinanderfolgenden Ganzzahlen liegt, wird für ndie klarste gerade Ganzzahl verwendet. Der Rest r = remainder(x,y) erfüllt somit immer abs(r) <= 0.5 * abs(y).,

Sonderfälle folgen IEEE 754: insbesondere remainder(x, math.inf) isx für jedes endliche x und remainder(x, 0) undremainder(math.inf, x) raise ValueError für jedes Nicht-NaN x. Wenn das Ergebnis der Restoperation Null ist, hat diese nulldas gleiche Vorzeichen wie x.remainder(x, 0) / p >

Auf Plattformen mit binärem Gleitkomma IEEE 754 ist das Ergebnis dieser Operation immer genau darstellbar: Es wird kein Rundungsfehler eingeführt.

Neu in version 3.7.,

math.trunc(x)¶

Geben Sie die Real Wert x abgeschnitten zu einemIntegral (in der Regel eine Ganzzahl). Die Delegiertenx.__trunc__().

math.ulp(x)¶

Geben Sie den Wert des am wenigsten signifikanten Bits des Floats x:

  • Wenn x ein NaN (keine Zahl) ist, geben Sie x.

  • Wenn x negativ ist, geben Sie ulp(-x)zurück.

  • Wenn x eine positive Unendlichkeit ist, geben Sie x zurück.,

  • Wenn x gleich Null ist, geben Sie den kleinsten positiv darstellbaren Float zurück (kleiner als der minimale positiv normalisierte float, sys.float_info.min).

  • Wenn x gleich dem größten positiv darstellbaren float ist,geben Sie den Wert des am wenigsten signifikanten Bits von x zurück, sodass der firstfloat kleiner als x x - ulp(x).

  • Andernfalls (x ist eine positive endliche Zahl) geben Sie den Wert des leastsignificant-Bits von x zurück, sodass der erste Float größer als xis x + ulp(x).,

ULP steht für „Einheit an letzter Stelle“.

Siehe auch math.nextafter() und sys.float_info.epsilon.

Neu in version 3.9.

Beachten Sie, dass frexp() und modf() ein anderes Call/return-Muster habendann ihre C-Äquivalente: Sie nehmen ein einzelnes Argument und geben ein Paar zurückvalues, anstatt ihren zweiten Rückgabewert über einen ‚outputparameter‘ zurückzugeben (so etwas gibt es in Python nicht).,

Für die Funktionen ceil(), floor() und modf() beachten Sie, dass alle Gleitkommazahlen von ausreichend großer Größe exakte Ganzzahlen sind.Python Floats tragen in der Regel nicht mehr als 53 Bits Genauigkeit (das gleiche wie dieplatform C double type), in diesem Fall hat jeder float x mit abs(x) >= 2**52notwendigerweise keine Bruchteile Bits.

Share

Schreibe einen Kommentar

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