Række-teoretisk og repræsentation funktioner¶
math.
ceil
(x)¶
Tilbage loftet af x, der er det mindste heltal, der er større end eller lig med x.Hvis x er ikke en float, delegerede til x.__ceil__()
, som skal return enIntegral
værdi.
math.
comb
(n, k) Return
returner antallet af måder at vælge k-varer fra n-varer uden gentagelseog uden ordre.,
giver n! / (k! * (n - k)!)
når k <= n
og evaluatesto nul, når k > n
.
kaldes også binomialkoefficienten, fordi den er ækvivalent til koefficienten for k-th-udtrykket i polynomudvidelse af ekspression (1 + x) ** n
.
hæverTypeError
hvis en af argumenterne ikke er heltal.Hæver ValueError
hvis en af argumenterne er negative.
nyt i 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)¶
Retur fmod(x, y)
, som er defineret af den platform C-bibliotek. Bemærk, at thePython e .pression x % y
muligvis ikke returnerer det samme resultat. Hensigten med Cstandard er, at fmod(x, y)
være præcis (matematisk; at infiniteprecision) lig med x - n*y
for nogle heltal n således at resultatet hasthe samme tegn som x og størrelse mindre end abs(y)
., Pythons x % y
returnerer et resultat med tegnet af Y i stedet, og kan ikke være præcis beregneligfor float argumenter. For eksempel: fmod(-1e-100, 1e100)
er -1e-100
, men turen resultat af Python ‘ s -1e-100 % 1e100
er 1e100-1e-100
, som ikke berepresented præcis som en float, og runder på den overraskende 1e100
. Forthis grund, funktion fmod()
generelt foretrækkes, når du arbejder withfloats, mens Python ‘ s x % y
foretrækkes, når du arbejder med heltal.,
math.
frexp
(x)¶math.
fsum
(iterable)¶
Returnere en præcis floating point sum af værdier i iterable. Avoidsloss af præcision ved at spore flere mellemliggende delvis beløb:
>>> sum()0.9999999999999999>>> fsum()1.0
algoritme nøjagtighed afhænger af IEEE-754 aritmetiske garantier og thetypical tilfælde, hvor afrunding tilstand er halv-selv., På nogle ikke-Windindo .sbuilds bruger det underliggende C-bibliotek udvidet præcisionstilsætning og kan lejlighedsvis dobbeltrunde en mellemliggende sum, hvilket får den til at være slukket i den mindst betydelige bit.
For yderligere diskussion og to alternative tilgange, se ASPN cookbookrecipes for præcis floating point summation.
math.
gcd
(*heltal) returner den største fælles divisor af de specificerede heltalsargumenter.Hvis nogen af argumenterne er noneroero, så er den returnerede værdi den størstepositivt heltal, der er en divisor af alle argumenter., Hvis alle argumenterer nul, så er den returnerede værdi
0
.gcd()
uden argumentsreturns0
.
nyt i version 3.5.
ændret i version 3.9: Tilføjet understøttelse af et vilkårligt antal argumenter. Tidligere blev kun toargumenter støttet.
math.
isclose
(a -, b -, *, rel_tol=1e-09, abs_tol=0.0)¶
Retur True
hvis værdierne a og b er tæt på hinanden, ogFalse
andet.,
hvorvidt to værdier betragtes som tætte, bestemmes i henhold tilgiven absolutte og relative tolerancer.
rel_tol er den relative tolerance – det er den maksimalt tilladte differencebetween a og b, i forhold til de større absolutte værdi af a eller b.For eksempel, at angive en tolerance på 5%, passere rel_tol=0.05
. Defaulttolerance er 1e-09
, hvilket sikrer, at de to værdier er de sammeithithin omkring 9 decimaler. rel_tol skal være større end nul.
abs_tol er den mindste absolutte tolerance – nyttig til sammenligninger nær nul., abs_tol skal være mindst nul.
Hvis der ikke opstår fejl, vil resultatet være:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
.
IEEE 754 særlige værdier af NaN
inf
og -inf
vil behandled i henhold til IEEE regler. Specifikt betragtes NaN
ikke tæt på nogen anden værdi, herunder NaN
. inf
og -inf
er onlyconsidered tæt på sig selv.
nyt i 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)¶
Retur True
hvis x er et NaN (ikke et tal), og False
andet.
math.
isqrt
(n)¶
Tilbage heltal kvadratroden af ikke-negative hele heltal n. Dette er thefloor af den nøjagtige kvadratroden af n, eller ækvivalent de største integera sådan, at a2 ≤ n.
For nogle programmer, kan det være mere praktisk at have mindst integera, at n ≤ a2, eller med andre ord loftet afde præcis kvadratroden af n., For positiv n kan dette beregnes ved hjælp afa = 1 + isqrt(n - 1)
.
nyt i version 3.8.
math.
lcm
(*heltal) Return
returner det mindst almindelige multiplum af de specificerede heltalsargumenter.Hvis alle argumenter er noneroero, så er den returnerede værdi den mindstepositivt heltal, der er et flertal af alle argumenter. Hvis nogen af argumenterneer nul, så er den returnerede værdi 0
. lcm()
uden argumentsreturns 1
.
nyt i version 3.9.,
math.
ldexp
(x, i)¶
Retur x * (2**i)
. Dette er i det væsentlige det omvendte af funktionenfrexp()
.
math.
modf
(.) returnere brøkdele og heltal dele af.. begge resultater bære tegnet af. og er flåd.
returner den næste flydende pointværdi efter after mod y.
Hvis If er lig med y, skal du returnere y.
eksempler:
Se ogsåmath.ulp()
.
nyt i version 3.9.,
math.
perm
(n, k=None) Return
returner antallet af måder at vælge k-elementer fra n-genstandeuden gentagelse og med rækkefølge.
giver n! / (n - k)!
når k <= n
og evaluatesto nul, når k > n
.
hvis k ikke er angivet eller er ingen, så K standard til nand funktionen returnerer n!
.
hæverTypeError
hvis en af argumenterne ikke er heltal.Hæver ValueError
hvis en af argumenterne er negative.,
nyt i version 3.8.
math.
prod
(iterable, *, start=1)¶
Beregne produktet af alle elementer i input iterable.Standardstartværdien for produktet er 1
.
når iterable er tom, skal du returnere startværdien. Denne funktion er beregnet specifikt til brug med numeriske værdier og kan afvise ikke-numeriske typer.
nyt i version 3.8.
math.
remainder
(,, y) returner IEEE 754-stil resten af.med hensyn til y., Forfinite x og finite nul, y, dette er forskellenx - n*y
,hvorn
er det nærmeste heltal med den nøjagtige værdi af kvotientenx /y
. Hvisx / y
er nøjagtigt halvvejs mellem to på hinanden følgende heltal, bruges det nærmeste lige heltal tiln
. Den resterender = remainder(x,y)
opfylder således altidabs(r) <= 0.5 * abs(y)
.,
i Særlige tilfælde følge IEEE 754: navnlig remainder(x, math.inf)
isx for enhver finite x, og remainder(x, 0)
ogremainder(math.inf, x)
skaffe ValueError
for enhver ikke-NaN x.Hvis resultatet af den resterende operation er nul, nul, vil havethe samme tegn som x.
På platforme, der anvender IEEE 754 binær floating-point, resultatet af thisoperation er altid præcis, representable: ingen afrunding fejl er indført.
nyt i version 3.7.,
math.
trunc
(x)¶
Tilbage Real
x-værdi, afkortet til enIntegral
(normalt et heltal). Delegerede tilx.__trunc__()
.
math.
ulp
(x)¶
Returnere værdien af den mindst betydende bit af float x:
-
Hvis x er et NaN (ikke et tal), return x.
-
Hvis x er negativ, returnere
ulp(-x)
. -
Hvis positive er en positiv uendelighed, skal du returnere..,
-
Hvis x er lig med nul, returnerer den mindste positivedenormalized representable float (mindre end den mindste positivenormalized float,
sys.float_info.min
). -
Hvis x er lig med den største positive representable float,returnere værdien af den mindst betydende bit af x, således at firstfloat mindre end x
x - ulp(x)
. -
ellers (Otherwise er et positivt endeligt tal), returner værdien af den mindstevæsentlige bit af., således at den første flyder større endisis
x + ulp(x)
.,
ULP står for “enhed i sidste sted”.
Se også math.nextafter()
og sys.float_info.epsilon
.
nyt i version 3.9.
Bemærk at frexp()
og modf()
har du et andet opkald/afkast patternthan deres C-ækvivalenter: de tager et enkelt argument og returnerer et par ofvalues, snarere end at vende tilbage til deres første værdi, der returneres via en “outputparameter’ (der er ikke en sådan ting i Python).,
For ceil()
floor()
og modf()
funktioner, bemærk, at allfloating-point tal i tilstrækkeligt stort omfang er nøjagtige tal.Python floats har typisk ikke mere end 53 bits præcision (det samme somplatform C dobbelt type), i hvilket tilfælde enhver float.med abs(x) >= 2**52
nødvendigvis ikke har brøkdele bits.