Määrä-theoretic ja edustus toiminnot¶
math.
ceil
(x)¶
Paluu katto x, on pienin kokonaisluku, joka on suurempi tai yhtä suuri kuin x.Jos x ei ole a-float, delegoi x.__ceil__()
, joka pitäisi palauttaaIntegral
arvo.
math.
comb
(n, k) – ¶
Palauta useita tapoja valita k kohteita n erät ilman repetitionand ilman järjestystä.,
Arvioi n! / (k! * (n - k)!)
, kun k <= n
ja evaluatesto nolla, kun k > n
.
kutsutaan Myös binomial coefficient, koska se on equivalentto kerroin k: nnen termin polynomi laajennus theexpression (1 + x) ** n
.
nostaa TypeError
jos jompikumpi argumenteista ei ole kokonaislukua.Herättää ValueError
jos jompikumpi argumenteista on negatiivinen.
uusi versiossa 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)¶
Paluu fmod(x, y)
määritelty alusta C-kirjaston. Huomaa, että thePython expression x % y
ei välttämättä palauta samaa tulosta. Tarkoitus Cstandard on, että fmod(x, y)
täsmälleen (matemaattisesti, että infiniteprecision) yhtä x - n*y
joidenkin kokonaisluku n siten, että tulos onko sama merkki kuin x ja suuruus on alle abs(y)
., Pythonin x % y
palauttaa tuloksen merkki y sen sijaan, ja se voi olla juuri computablefor float argumentteja. Esimerkiksi fmod(-1e-100, 1e100)
on -1e-100
, mutta tulosta Pythonin -1e-100 % 1e100
on 1e100-1e-100
, joka ei berepresented juuri niin kuin float, ja kierroksia yllättävää 1e100
. Diplomityön syy, toiminto fmod()
pidetään yleisesti parempana, kun työskentelet withfloats, kun taas Python x % y
suositellaan työskenneltäessä kokonaislukuja.,
math.
frexp
(x)¶math.
fsum
(iterable)¶
Paluu tarkka liukuluku summa arvot iterable. Avoidsloss tarkasti seuraamalla useita väli osasummat:
>>> sum()0.9999999999999999>>> fsum()1.0
algoritmi on tarkkuus riippuu siitä, IEEE-754 aritmeettinen takaa ja thetypical tapauksessa, jossa pyöristys tilassa on puoli-jopa., Joitakin ei-Windowsbuilds, taustalla C-kirjasto käyttää extended precision lisäksi ja mayoccasionally double-kierroksella väli summa aiheuttaa sen olevan pois itsleast merkitsevä bitti.
käydään keskustelua ja kaksi vaihtoehtoista lähestymistapaa, katso ASPN cookbookrecipes tarkka liukuluku summattu.
math.
gcd
(*kokonaislukuja)¶
Paluu suurin yhteinen tekijä määritelty kokonaisluku argumentit.Jos jokin argumenteista on nonzero, niin palautettu arvo on largestpositiivinen kokonaisluku, joka on kaikkien argumenttien jakaja., Jos kaikki argumentsare nolla, palautusarvo on 0
. gcd()
ilman argumentsreturns 0
.
uusi versiossa 3.5.
Muuttunut versiossa 3.9: Lisätty tuki mielivaltaisen määrän argumentteja. Aiemmin tukea sai vain kaksi kohdetta.
math.
isclose
(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶
Paluu True
jos arvot a ja b ovat lähellä toisiaan jaFalse
muuten.,
se, pidetäänkö kahta arvoa lähellä, määritetään togivenin absoluuttisten ja suhteellisten toleranssien mukaan.
rel_tol on suhteellinen toleranssi – se on suurin sallittu differencebetween a ja b suhteessa suurempi absoluuttinen arvo a tai b.Esimerkiksi, voit asettaa toleranssi 5%, pass rel_tol=0.05
. Se defaulttolerance on 1e-09
, joka takaa, että nämä kaksi arvoa ovat samewithin noin 9 desimaalia. rel_tolin on oltava suurempi kuin nolla.
abs_tol on pienin absoluuttinen toleranssi – hyödyllinen vertailuissa nearzero., abs_tolin on oltava vähintään nolla.
Jos virheitä ei tapahdu, tuloksena on:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
.
IEEE 754 erityisiä arvoja NaN
, inf
ja -inf
tulee behandled mukaan IEEE sääntöjä. Erityisesti, NaN
ei ole consideredclose tahansa muu arvo, mukaan lukien NaN
. inf
ja -inf
ovat onlyconsidered lähellä itseään.
uusi versiossa 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)¶
Paluu True
jos x on NaN (not a number), ja False
muuten.
math.
isqrt
(n)¶
Palauttaa kokonaisluku neliöjuuri nonnegative integer n. Tämä on thefloor tarkka neliöjuuri n, tai vastaavasti suurin integera siten, että a2 ≤ n.
joissakin sovelluksissa, se voi olla helpompi on ainakin integera siten, että n ≤ a2, tai toisin sanoen katto ofthe tarkka neliöjuuri n., Positiivisessa n: ssä tämä voidaan laskea käyttämälläa = 1 + isqrt(n - 1)
.
uusi versiossa 3.8.
math.
lcm
(*kokonaislukuja)¶
Paluu pienin yhteinen jaettava määritelty kokonaisluku argumentit.Jos kaikki argumentit ovat nonzero, niin palautettu arvo on smallestpositiivinen kokonaisluku, joka on useita kaikista argumenteista. Jos jokin argumentsis nolla, niin palautetaan arvo on 0
. lcm()
ilman argumentsreturns 1
.
uusi versiossa 3.9.,
math.
ldexp
(x, i)¶
Paluu x * (2**i)
. Tämä on oleellisesti funktionfrexp()
käänteisfunktio.
math.
modf
(x)¶
Paluu murto ja kokonaisluku osat x. Molemmat tulokset kuljettaa sinulla voi x ja kelluu.
Paluu seuraavana kelluva pisteen arvo, kun x kohtaan y.
Jos x on yhtä kuin y, palauta y.
Esimerkkejä:
Katso myös math.ulp()
.
uusi versiossa 3.9.,
math.
perm
(n, k=Ei mitään)¶
Palauta useita tapoja valita k kohteita n itemswithout toistoa ja järjestystä.
Arvioi n! / (n - k)!
, kun k <= n
ja evaluatesto nolla, kun k > n
.
Jos k ei ole määritelty tai ei, niin k on oletusarvoisesti nand-funktio palauttaa n!
.
nostaa TypeError
jos jompikumpi argumenteista ei ole kokonaislukua.Herättää ValueError
jos jompikumpi argumenteista on negatiivinen.,
uusi versiossa 3.8.
math.
prod
(iterable, *, start=1)¶
Laske tuotteen kaikki elementit input iterable.Tuotteen oletusalkuarvo on 1
.
kun toistettava on tyhjä, palauta aloitusarvo. Tämä funktio on tarkoitettu erityisesti numeeristen arvojen käyttöön, ja se voi hylätä numeeriset tyypit.
uusi versiossa 3.8.
math.
remainder
(x, y)¶
Paluu IEEE 754-tyylinen jäljellä x suhteen y., Forfinite x ja äärellinen nollasta poikkeava y, tämä on ero x - n*y
,jossa n
on lähin kokonaisluku tarkka arvo osamäärä x /y
. Jos x / y
on täsmälleen puolivälissä välillä kaksi peräkkäistä kokonaislukua, thenearest jopa kokonaisluku käytetään n
. Loput r = remainder(x,y)
näin aina täyttää abs(r) <= 0.5 * abs(y)
.,
Special tapauksissa seuraa IEEE 754: erityisesti remainder(x, math.inf)
isx tahansa äärellinen x, ja remainder(x, 0)
jaremainder(math.inf, x)
nostaa ValueError
mistään ei-NaN x.Jos tulos loput toiminta on nolla, se on nolla annetaan sama merkki kuin x.
alustoilla käyttäen IEEE 754 binary liukuluku, tulos thisoperation on aina täsmälleen representable: n pyöristys virhe on otettu käyttöön.
uusi versiossa 3.7.,
math.
trunc
(x)¶
Paluu Real
arvo x katkaistu on, ettäIntegral
(yleensä kokonaisluku). Valtuutetutx.__trunc__()
.
math.
ulp
(x)¶
Paluu arvo vähiten merkitsevää bittiä float x:
-
Jos x on NaN (not a number), palauta x.
-
Jos x on negatiivinen, palauttaa
ulp(-x)
. -
Jos x on positiivinen äärettömyys, return x.,
-
Jos x on nolla, palauttaa pienin positivedenormalized representable float (pienempi kuin pienin positivenormalized float,
sys.float_info.min
). -
Jos x on yhtä suuri kuin suurin positiivinen representable float,paluu arvo vähiten merkitsevä bitti x, siten, että firstfloat pienempi kuin x
x - ulp(x)
. -
Muuten (x on positiivinen rajallinen määrä), paluu arvo leastsignificant vähän x, siten, että ensimmäinen float suurempi kuin xis
x + ulp(x)
.,
ULP tarkoittaa ”yksikköä viimeisessä paikassa”.
Katso myös math.nextafter()
ja sys.float_info.epsilon
.
uusi versiossa 3.9.
Huomaa, että frexp()
ja modf()
eri call/return patternthan niiden C vastineet: he ottaa yhden argumentin ja palauttaa pari ofvalues, pikemminkin kuin palauttaa heidän toinen palauttaa arvon kautta ’outputparameter’ (ei ole olemassa sellaista asiaa Python).,
Esimerkiksi ceil()
, floor()
ja modf()
toimintoja, huomaa, että allfloating-pisteen numeroita riittävän suuri suuruus ovat tarkkoja kokonaislukuja.Python kelluu tyypillisesti kuljettaa enintään 53 bittiä tarkkuus (sama kuin theplatform C double-tyyppi), jolloin kaikki float x abs(x) >= 2**52
välttämättä ole murto bittiä.