Python的math模組中的常用數學函式整理 - 程式前沿

文章推薦指數: 80 %
投票人數:10人

在互動模式下輸入上面的指令,然後回車,看到下面的資訊: Help on built-in function pow in module math: pow ... 程式語言前端開發IOS開發Android開發雲端運算人工智慧伺服器搜尋資料庫軟體開發工具Python的math模組中的常用數學函式整理2018.07.05程式語言math,pythonHOME程式語言Python的math模組中的常用數學函式整理Advertisement在數學之中,除了加減乘除四則運算之外——這是小學數學——還有其它更多的運算,比如乘方、開方、對數運算等等,要實現這些運算,需要用到Python中的一個模組:Math模組(module)是Python中非常重要的東西,你可以把它理解為Python的擴充套件工具。

換言之,Python預設情況下提供了一些可用的東西,但是這些預設情況下提供的還遠遠不能滿足程式設計實踐的需要,於是就有人專門製作了另外一些工具。

這些工具被稱之為“模組”任何一個Pythoner都可以編寫模組,並且把這些模組放到網上供他人來使用。

當安裝好Python之後,就有一些模組預設安裝了,這個稱之為“標準庫”,“標準庫”中的模組不需要安裝,就可以直接使用。

如果沒有納入標準庫的模組,需要安裝之後才能使用。

模組的安裝方法,我特別推薦使用pip來安裝。

這裡僅僅提一下,後面會專門進行講述,性急的看官可以自己google。

使用math模組math模組是標準庫中的,所以不用安裝,可以直接使用。

使用方法是: >>>importmath 用import就將math模組引用過來了,下面就可以使用這個模組提供的工具了。

比如,要得到圓周率: >>>math.pi 3.141592653589793 這個模組都能做哪些事情呢?可以用下面的方法看到: >>>dir(math) ['__doc__','__name__','__package__','acos','acosh','asin','asinh','atan','atan2','atanh','ceil','copysign','cos','cosh','degrees','e','erf','erfc','exp','expm1','fabs','factorial','floor','fmod','frexp','fsum','gamma','hypot','isinf','isnan','ldexp','lgamma','log','log10','log1p','modf','pi','pow','radians','sin','sinh','sqrt','tan','tanh','trunc'] dir(module)是一個非常有用的指令,可以通過它檢視任何模組中所包含的工具。

從上面的列表中就可以看出,在math模組中,可以計算正sin(a),cos(a),sqrt(a)……這些我們稱之為函式,也就是在模組math中提供了各類計算的函式,比如計算乘方,可以使用pow函式。

但是,怎麼用呢?Python是一個非常周到的姑娘,她早就提供了一個命令,讓我們來檢視每個函式的使用方法。

>>>help(math.pow) 在互動模式下輸入上面的指令,然後回車,看到下面的資訊: Helponbuilt-infunctionpowinmodulemath: pow(...) pow(x,y) Returnx**y(xtothepowerofy). 這裡展示了math模組中的pow函式的使用方法和相關說明。

第一行意思是說這裡是math模組的內建函式pow幫助資訊(所謂built-in,稱之為內建函式,是說這個函式是Python預設就有的)第三行,表示這個函式的引數,有兩個,也是函式的呼叫方式第四行,是對函式的說明,返回x**y的結果,並且在後面解釋了x**y的含義。

最後,按q鍵返回到Python互動模式從上面看到了一個額外的資訊,就是pow函式和x**y是等效的,都是計算x的y次方。

>>>4**2 16 >>>math.pow(4,2) 16.0 >>>4*2 8 特別注意,4**2和4*2是有很大區別的。

用類似的方法,可以檢視math模組中的任何一個函式的使用方法。

關於“函式”的問題,在這裡不做深入闡述,看管姑且按照自己在數學中所學到去理解。

後面會有專門研究函式的章節。

下面是幾個常用的math模組中函式舉例,看官可以結合自己除錯的進行比照。

>>>math.sqrt(9) 3.0 >>>math.floor(3.14) 3.0 >>>math.floor(3.92) 3.0 >>>math.fabs(-2)#等價於abs(-2) 2.0 >>>abs(-2) 2 >>>math.fmod(5,3)#等價於5%3 2.0 >>>5%3 2 幾個常見函式有幾個常用的函式,列一下,如果記不住也不要緊,知道有這些就好了,用的時候就google。

求絕對值 >>>abs(10) 10 >>>abs(-10) 10 >>>abs(-1.2) 1.2 四捨五入 >>>round(1.234) 1.0 >>>round(1.234,2) 1.23 >>>#如果不清楚這個函式的用法,可以使用下面方法看幫助資訊 >>>help(round) Helponbuilt-infunctionroundinmodule__builtin__: round(...) round(number[,ndigits])->floatingpointnumber Roundanumbertoagivenprecisionindecimaldigits(default0digits). Thisalwaysreturnsafloatingpointnumber.Precisionmaybenegative. 運算優先順序從小學數學開始,就研究運算優先順序的問題,比如四則運算中“先乘除,後加減”,說明乘法、除法的優先順序要高於加減。

對於同一級別的,就按照“從左到右”的順序進行計算。

下面的表格中列出了Python中的各種運算的優先順序順序。

不過,就一般情況而言,不需要記憶,完全可以按照數學中的去理解,因為人類既然已經發明瞭數學,在計算機中進行的運算就不需要從新編寫一套新規範了,只需要符合數學中的即可。

運算子描述lambdaLambda表示式or布林“或”and布林“與”notx布林“非”in,notin成員測試is,isnot同一性測試,>=,!=,==比較|按位或^按位異或&按位與<>移位,-加法與減法*,/,%乘法、除法與取餘x,-x正負號~x按位翻轉**指數x.attribute屬性參考x[index]下標x[index:index]定址段f(arguments…)函式呼叫(experession,…)繫結或元組顯示[expression,…]列表顯示{key:datum,…}字典顯示‘expression,…’字串轉換上面的表格將Python中用到的與運算子有關的都列出來了,是按照從低到高的順序列出的。

雖然有很多還不知道是怎麼回事,不過先列出來,等以後用到了,還可以回來檢視。

最後,要提及的是運算中的絕殺:括號。

只要有括號,就先計算括號裡面的。

這是數學中的共識,無需解釋。

目錄1.您可能感興趣的文章:您可能感興趣的文章:python基礎教程之數字處理(math)模組詳解Python中Random和Math模組學習筆記Python標準庫之隨機數(math包、random包)介紹Python中比較特別的除法運算和冪運算介紹Python線性方程組求解運算示例Python2.7基於笛卡爾積演算法實現N個陣列的排列組合運算示例python中實現精確的浮點數運算詳解Python算術運算子例項詳解Python程式設計實現數學運算求一元二次方程的實根演算法示例Python中pow()和math.pow()函式用法示例Advertisement写评论取消回覆很抱歉,必須登入網站才能發佈留言。

近期文章Spark入門(一)用SparkShell初嘗Spark滋味2019.12.08Spark入門(二)如何用Idea運行我們的Spark項目2019.12.08Spark入門(三)Spark經典的單詞統計2019.12.08Spark入門(四)Spark的map、flatMap、mapToPair2019.12.08Spark入門(五)Spark的reduce和reduceByKey2019.12.08Spark入門(六)Spark的combineByKey、sortBykey2019.12.08Spark入門(七)Spark的intersection、subtract、union和distinct2019.12.08Spark實戰尋找5億次訪問中,訪問次數最多的人2019.12.08Spark實戰搭建我們的Spark分佈式架構2019.12.08【機器學習】深度學習開發環境搭建2019.12.08AdvertisementAdvertisement



請為這篇文章評分?