最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年10月27日 09:17:59   作者:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美  
Math模塊中,有很多基礎(chǔ)的數(shù)學(xué)知識,我們必須要掌握的,例如:指數(shù)、對數(shù)、三角或冪函數(shù)等。因此,特意借著這篇文章,為大家講解一些該庫

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

import math

math模塊常數(shù)

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

圓周率π

Tau (τ)

歐拉數(shù)e

無限

不是數(shù)字 (NaN)

1. 圓周率

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

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

Pi 是一個(gè)無理數(shù),這意味著它不能表示為一個(gè)簡單的分?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始終返回一個(gè)浮點(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 (τ) 是圓的周長與其半徑的比值。這個(gè)常數(shù)等于 2π,或大約 6.28。與 pi 一樣,tau 是一個(gè)無理數(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ù)字并且是一個(gè)浮點(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 ) 是一個(gè)常數(shù),它是自然對數(shù)的底數(shù),自然對數(shù)是一種常用于計(jì)算增長率或衰減率的數(shù)學(xué)函數(shù)。與 pi 和 tau 一樣,歐拉數(shù)是一個(gè)具有無限小數(shù)位的無理數(shù)。e的值通常近似為 2.718。

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

>>> math.e
2.718281828459045

 

4. 無限

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

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

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

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

無窮大不是數(shù)值。相反,它被定義為math.inf. Python 在 3.5 版中引入了這個(gè)常量,相當(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值可以是由于無效的輸入,或者它可以指示一個(gè)變量即應(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()

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

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

>>> math.factorial(7)
5040

2. ceil()

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

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

當(dāng)您向 輸入整數(shù)值時(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ù)作為輸入,并返回一個(gè)整數(shù)值。

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

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

4. trunc()

當(dāng)您得到一個(gè)帶小數(shù)點(diǎn)的數(shù)字時(shí),您可能只想保留整數(shù)部分并消除小數(shù)部分。該math模塊有一個(gè)被調(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)你用兩個(gè)小數(shù)點(diǎn)來衡量接近度時(shí),2.32 和 2.33 是接近的。但實(shí)際上,2.33 和 2.331 更接近。因此,親近是一個(gè)相對的概念。如果沒有某種閾值,您就無法確定接近度。

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

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

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

isclose使用上面的表達(dá)式來確定兩個(gè)數(shù)字的接近程度。您可以替換自己的值并觀察任何兩個(gè)數(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提高到某個(gè)n 次冪,然后返回x n作為輸出。

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

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

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

1. exp()

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

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

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

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

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

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

math模塊還提供了兩個(gè)單獨(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ì)算兩個(gè)數(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)文章!

相關(guān)文章

  • Django form表單與請求的生命周期步驟詳解

    Django form表單與請求的生命周期步驟詳解

    這篇文章主要介紹了Django-form表單與請求的生命周期,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python文件操作,open讀寫文件,追加文本內(nèi)容實(shí)例

    Python文件操作,open讀寫文件,追加文本內(nèi)容實(shí)例

    本篇文章主要介紹了Python文件操作,open讀寫文件,追加文本內(nèi)容,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12
  • 使用pipenv管理python虛擬環(huán)境的全過程

    使用pipenv管理python虛擬環(huán)境的全過程

    pipenv 是Kenneth Reitz大神的作品,能夠有效管理Python多個(gè)環(huán)境,各種包,接下來通過本文給大家分享使用pipenv管理python虛擬環(huán)境的全過程,感興趣的朋友一起看看吧
    2021-09-09
  • 十個(gè)Python中常用的pip命令總結(jié)

    十個(gè)Python中常用的pip命令總結(jié)

    相信對于大多數(shù)熟悉Python的人來說,一定都聽說并且使用過pip這個(gè)工具,但是對它的了解可能還不一定是非常的透徹,今天小編就來為大家介紹10個(gè)使用pip的小技巧,相信對大家以后管理和使用Python當(dāng)中的標(biāo)準(zhǔn)庫會有幫助
    2022-07-07
  • Python使用Pycharm必備插件推薦(非常好用!)

    Python使用Pycharm必備插件推薦(非常好用!)

    首先我們要知道pycharm是一款非常強(qiáng)大的python集成開發(fā)環(huán)境,帶有一整套python開發(fā)工具,這篇文章主要給大家介紹了關(guān)于Python使用Pycharm必備插件推薦的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Python正則表達(dá)式的使用范例詳解

    Python正則表達(dá)式的使用范例詳解

    本文將是一系列關(guān)于Python正則表達(dá)式文章的其中一部分。在這個(gè)系列的第一篇文章中,我們將重點(diǎn)討論如何使用Python中的正則表達(dá)式并突出Python中一些獨(dú)有的特性。
    2014-08-08
  • 安裝出現(xiàn):Requirement?already?satisfied解決辦法

    安裝出現(xiàn):Requirement?already?satisfied解決辦法

    最近pip install的時(shí)候報(bào)錯(cuò),一大串Requirement already satisfied,所以下面這篇文章主要給大家介紹了關(guān)于安裝出現(xiàn):Requirement?already?satisfied的解決辦法,需要的朋友可以參考下
    2022-08-08
  • Python中的CURL PycURL使用例子

    Python中的CURL PycURL使用例子

    這篇文章主要介紹了Python中的CURL PycURL使用例子,需要的朋友可以參考下
    2014-06-06
  • python實(shí)現(xiàn)ROA算子邊緣檢測算法

    python實(shí)現(xiàn)ROA算子邊緣檢測算法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)ROA算子邊緣檢測算法,以光學(xué)圖像為例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python實(shí)現(xiàn)圣誕樹的多種方法

    Python實(shí)現(xiàn)圣誕樹的多種方法

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)圣誕樹的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論

海淀区| 泰安市| 海兴县| 卢氏县| 两当县| 福海县| 维西| 贵州省| 河池市| 南丰县| 章丘市| 临沂市| 崇州市| 南部县| 太谷县| 曲阜市| 昌江| 南岸区| 上蔡县| 永登县| 尚义县| 岢岚县| 天水市| 昭平县| 桂林市| 大理市| 庆元县| 宁波市| 新闻| 白水县| 嘉义县| 定兴县| 石河子市| 山丹县| 静安区| 常山县| 英山县| 吕梁市| 崇阳县| 桑植县| 内乡县|