人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python中非常實(shí)用的Math模塊函數(shù)教程詳解

發(fā)布日期:2021-12-18 22:26 | 文章來源:腳本之家

由于該math模塊與 Python 版本一起打包,因此您不必單獨(dú)安裝它,直接導(dǎo)入:

import math

math模塊常數(shù)

Pythonmath模塊提供了多種預(yù)定義常量。訪問這些常量提供了幾個優(yōu)點(diǎn)。一方面,您不必手動將它們硬編碼到您的應(yīng)用程序中,這為您節(jié)省了大量時間。另外,它們在整個代碼中提供一致性。該模塊包括幾個著名的數(shù)學(xué)常數(shù)和重要值:

圓周率π

Tau (τ)

歐拉數(shù)e

無限

不是數(shù)字 (NaN)

1. 圓周率

Pi (π) 是圓的周長 ( c ) 與其直徑 ( d )的比值:

π = c/d
對于任何圓,該比率始終相同。

Pi 是一個無理數(shù),這意味著它不能表示為一個簡單的分?jǐn)?shù)。因此,pi 的小數(shù)位數(shù)是無限的,但可以近似為 22/7,即 3.141。

您可以按如下方式訪問 pi:

>>> math.pi
3.141592653589793

如您所見,在 Python 中 pi 值保留為小數(shù)點(diǎn)后十五位。提供的位數(shù)取決于底層 C 編譯器。Python 默認(rèn)打印前 15 位數(shù)字,并math.pi始終返回一個浮點(diǎn)值。

那么 pi 可以通過哪些方式對您有用呢?您可以使用 2π r計(jì)算圓的周長,其中r是圓的半徑:

>>> r = 3
>>> circumference = 2 * math.pi * r
>>> f"Circumference of a Circle = 2 * {math.pi:.4} * {r} = {circumference:.4}"
'Circumference of a Circle = 2 * 3.142 * 3 = 18.85'

您可以使用它math.pi來計(jì)算圓的周長。您還可以使用公式 π r ²計(jì)算圓的面積,如下所示:

>>> r = 5
>>> area = math.pi * r * r
>>> f"Area of a Circle = {math.pi:.4} * {r} * {r} = {area:.4}"
'Area of a Circle = 3.142 * 5 * 5 = 78.54'

2. Tau (τ)

Tau (τ) 是圓的周長與其半徑的比值。這個常數(shù)等于 2π,或大約 6.28。與 pi 一樣,tau 是一個無理數(shù),因?yàn)樗皇?pi 乘以 2。

許多數(shù)學(xué)表達(dá)式使用 2π,而使用 tau 可以幫助簡化方程。例如,我們可以用 tau 代替 tau 并使用更簡單的方程 τ r,而不是用 2π r計(jì)算圓的周長。

然而,使用 tau 作為圓常數(shù)仍存在爭議。您可以根據(jù)需要自由使用 2π 或 τ。

您可以使用 tau 如下:

>>> math.tau
6.283185307179586

像math.pi,math.tau返回十五位數(shù)字并且是一個浮點(diǎn)值。您可以使用 tau 計(jì)算具有 τ r的圓的周長,其中r是半徑,如下所示:

>>> r = 3
>>> circumference = math.tau * r
>>> f"Circumference of a Circle = {math.tau:.4} * {r} = {circumference:.4}"
'Circumference of a Circle = 6.283 * 3 = 18.85'

您可以使用math.tau代替2 * math.pi來整理包含表達(dá)式 2π 的方程。

3. 歐拉數(shù)

歐拉數(shù) ( e ) 是一個常數(shù),它是自然對數(shù)的底數(shù),自然對數(shù)是一種常用于計(jì)算增長率或衰減率的數(shù)學(xué)函數(shù)。與 pi 和 tau 一樣,歐拉數(shù)是一個具有無限小數(shù)位的無理數(shù)。e的值通常近似為 2.718。

歐拉數(shù)是一個重要的常數(shù),因?yàn)樗性S多實(shí)際用途,例如計(jì)算人口隨時間的增長或確定放射性衰變率。您可以從math模塊中訪問歐拉數(shù),如下所示:

>>> math.e
2.718281828459045

4. 無限

無窮大不能由數(shù)字定義。相反,它是一個數(shù)學(xué)概念,代表永無止境或無限的事物。無窮大可以朝任一方向發(fā)展,正向或負(fù)向。

當(dāng)您想將給定值與絕對最大值或最小值進(jìn)行比較時,您可以在算法中使用無窮大。

Python中正無窮大和負(fù)無窮大的取值如下:

>>> f"Positive Infinity = {math.inf}"
'Positive Infinity = inf'
>>> f"Negative Infinity = {-math.inf}"
'Negative Infinity = -inf'

無窮大不是數(shù)值。相反,它被定義為math.inf. Python 在 3.5 版中引入了這個常量,相當(dāng)于float(“inf”):

>>> float("inf") == math.inf
True

既float(“inf”)和math.inf表示無窮大的概念,使得math.inf大于任何數(shù)值:

>>> x = 1e308
>>> math.inf > x
True

上面代碼中,math.inf大于x10 308(浮點(diǎn)數(shù)的最大大?。┑闹?,為雙精度數(shù)。

同樣,-math.inf小于任何值:

>>> y = -1e308
>>> y > -math.inf
True

負(fù)無窮小于 的值y,即 -10 308。沒有數(shù)字可以大于無窮大或小于負(fù)無窮大。這就是為什么數(shù)學(xué)運(yùn)算 withmath.inf不會改變無窮大的值:

>>> math.inf + 1e308
inf
>>> math.inf / 1e308
inf

5. 不是數(shù)字

不是數(shù)字或 NaN 并不是真正的數(shù)學(xué)概念。它起源于計(jì)算機(jī)科學(xué)領(lǐng)域,作為對非數(shù)字值的引用。NaN值可以是由于無效的輸入,或者它可以指示一個變量即應(yīng)該是數(shù)值已經(jīng)由文本字符或符號損壞。

檢查值是否為 NaN 始終是最佳實(shí)踐。如果是,那么它可能會導(dǎo)致您的程序中出現(xiàn)無效值。Python 在 3.5 版本中引入了 NaN 常量。

您可以觀察以下值math.nan:

>>> math.nan
nan

NaN 不是數(shù)值。你可以看到,價(jià)值math.nan是nan,相同的值float(“nan”)。

算術(shù)函數(shù)

1. factorial()

僅僅為了得到一個數(shù)的階乘而實(shí)現(xiàn)自己的函數(shù)既耗時又低效。更好的方法是使用math.factorial().。

以下是如何使用 找到數(shù)字的階乘math.factorial():

>>> math.factorial(7)
5040

2. ceil()

math.ceil()將返回大于或等于給定數(shù)字的最小整數(shù)值。如果數(shù)字是正小數(shù)或負(fù)小數(shù),則函數(shù)將返回下一個大于給定值的整數(shù)值。

例如,輸入 5.43 將返回值 6,輸入 -12.43 將返回值 -12。math.ceil()可以將正實(shí)數(shù)或負(fù)實(shí)數(shù)作為輸入值,并且將始終返回整數(shù)值。

當(dāng)您向 輸入整數(shù)值時ceil(),它將返回相同的數(shù)字:

>>> math.ceil(6)
6
>>> math.ceil(-11)
-11

3. floor()

floor()將返回小于或等于給定數(shù)字的最接近的整數(shù)值。此函數(shù)的行為與 相反ceil()。例如,輸入 8.72 將返回 8,輸入 -12.34 將返回 -13。floor()可以將正數(shù)或負(fù)數(shù)作為輸入,并返回一個整數(shù)值。

如果您輸入一個整數(shù)值,則該函數(shù)將返回相同的值:

>>> math.floor(4)
4
>>> math.floor(-17)
-17

4. trunc()

當(dāng)您得到一個帶小數(shù)點(diǎn)的數(shù)字時,您可能只想保留整數(shù)部分并消除小數(shù)部分。該math模塊有一個被調(diào)用的函數(shù)trunc(),它可以讓你做到這一點(diǎn)。

刪除十進(jìn)制值是一種四舍五入。使用trunc(),負(fù)數(shù)總是向上舍入到零,正數(shù)總是向下舍入到零。

以下是該trunc()函數(shù)如何舍入正數(shù)或負(fù)數(shù):

>>> math.trunc(12.32)
12
>>> math.trunc(-43.24)
-43

5. isclose()

例如,采用以下一組數(shù)字:2.32、2.33 和 2.331。當(dāng)你用兩個小數(shù)點(diǎn)來衡量接近度時,2.32 和 2.33 是接近的。但實(shí)際上,2.33 和 2.331 更接近。因此,親近是一個相對的概念。如果沒有某種閾值,您就無法確定接近度。

幸運(yùn)的是,該math模塊提供了一個名為的函數(shù)isclose(),可讓您為接近度設(shè)置自己的閾值或容忍度。它返回True如果兩個數(shù)字是你建立親密,否則返回公差范圍內(nèi)False。

讓我們看看如何使用默認(rèn)容差比較兩個數(shù)字:

  • 相對容差或rel_tol是相對于輸入值的幅度被認(rèn)為“接近”的最大差異。這是公差的百分比。默認(rèn)值為 1e-09 或 0.000000001。
  • 絕對容差或abs_tol是被視為“接近”的最大差異,而不管輸入值的大小。默認(rèn)值為 0.0。

isclose使用上面的表達(dá)式來確定兩個數(shù)字的接近程度。您可以替換自己的值并觀察任何兩個數(shù)字是否接近。

在以下情況下,6 和 7不接近:

>>> math.isclose(6, 7)
False

數(shù)字 6 和 7 不被視為接近,因?yàn)橄鄬θ莶钤O(shè)置為九位小數(shù)。但是,如果你輸入6.999999999和7相同的誤差下,那么他們被認(rèn)為是接近:

>>> math.isclose(6.999999999, 7)
True

冪函數(shù)

power 函數(shù)將任何數(shù)字x作為輸入,將x提高到某個n 次冪,然后返回x n作為輸出。

Python 的math模塊提供了幾個與冪的功能。在本節(jié)中,您將了解冪函數(shù)、指數(shù)函數(shù)和平方根函數(shù)。

您可以使用math.pow()來獲取數(shù)字的冪。math.pow() 需要兩個參數(shù),第一個參數(shù)是基值,第二個參數(shù)是冪值。

>>> math.pow(2, 5)
32.0
>>> math.pow(5, 2.4)
47.59134846789696

1. exp()

math模塊提供了一個函數(shù) ,exp()可讓您計(jì)算數(shù)字的自然指數(shù)。

您可以按如下方式找到該值:

>>> math.exp(21)
1318815734.4832146
>>> math.exp(-1.2)
0.30119421191220214

2. 對數(shù)函數(shù)

log()有兩個論點(diǎn)。第一個是強(qiáng)制性的,第二個是可選的。使用一個參數(shù),您可以獲得輸入數(shù)字的自然對數(shù)(以e為底):

>>> math.log(4)
1.3862943611198906
>>> math.log(3.4)
1.2237754316221157

math模塊還提供了兩個單獨(dú)的函數(shù),可讓您計(jì)算以 2 和 10 為底的對數(shù)值:

log2() 用于計(jì)算以 2 為底的對數(shù)值。

log10() 用于計(jì)算以 10 為底的對數(shù)值。

>>> math.log2(math.pi)
1.6514961294723187
>>> math.log(math.pi, 2)
1.651496129472319
>>> math.log10(math.pi)
0.4971498726941338
>>> math.log(math.pi, 10)
0.4971498726941338

其他重要的math模塊功能

math.gcd():計(jì)算兩個數(shù)字的最大公約數(shù);

math.fsum():在不使用循環(huán)的情況下找到可迭代值的總和;

math.sqrt():求任何正實(shí)數(shù)(整數(shù)或小數(shù))的平方根;

math.radians():返回度數(shù)輸入的弧度值;

math.degrees():將弧度轉(zhuǎn)換為度數(shù);

math.sin()、math.cos()、math.tan():計(jì)算正弦、余弦、正切;

以上就是Python中非常實(shí)用的Math模塊函數(shù)教程詳解的詳細(xì)內(nèi)容,更多關(guān)于Math模塊函數(shù)的資料請關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時開通

自選配置、實(shí)時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部