在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 常用數(shù)學(xué)函數(shù)和運算優(yōu)先級
標準庫 (4)
如何成為 Python 高手
標準庫 (6)
標準庫 (3)
類(2)
Pandas 使用 (2)
xml
用 tornado 做網(wǎng)站 (5)
文件(1)
練習(xí)
列表(3)
從小工到專家
除法
錯誤和異常 (2)
函數(shù)(1)
用 tornado 做網(wǎng)站 (7)
為做網(wǎng)站而準備
函數(shù)練習(xí)
標準庫 (8)
Pandas 使用 (1)
回顧 list 和 str
字典(1)
用 tornado 做網(wǎng)站 (3)
字符串(1)
函數(shù)(2)
寫一個簡單的程序
將數(shù)據(jù)存入文件
語句(5)
SQLite 數(shù)據(jù)庫
集成開發(fā)環(huán)境(IDE)
集合(1)
類(1)
用 tornado 做網(wǎng)站 (6)
用 tornado 做網(wǎng)站 (2)
自省
語句(4)
錯誤和異常 (1)
用 tornado 做網(wǎng)站 (4)
集合(2)
列表(1)
標準庫 (1)
生成器
mysql 數(shù)據(jù)庫 (1)
第三方庫
實戰(zhàn)
運算符
類(3)
字典(2)
語句(1)
數(shù)和四則運算
語句(2)
文件(2)
MySQL 數(shù)據(jù)庫 (2)
電子表格
迭代器
mongodb 數(shù)據(jù)庫 (1)
特殊方法 (2)
特殊方法 (1)
字符編碼
編寫模塊
用 tornado 做網(wǎng)站 (1)
標準庫 (5)
函數(shù)(4)
類(5)
字符串(2)
關(guān)于 Python 的故事
函數(shù)(3)
字符串(4)
處理股票數(shù)據(jù)
常用數(shù)學(xué)函數(shù)和運算優(yōu)先級
字符串(3)
為計算做準備
多態(tài)和封裝
類(4)
迭代
語句(3)
錯誤和異常 (3)
分析 Hello
Python 安裝
標準庫 (2)
列表(2)
元組

常用數(shù)學(xué)函數(shù)和運算優(yōu)先級

在數(shù)學(xué)之中,除了加減乘除四則運算之外——這是小學(xué)數(shù)學(xué)——還有其它更多的運算,比如乘方、開方、對數(shù)運算等等,要實現(xiàn)這些運算,需要用到 Python 中的一個模塊:Math

模塊(module)是 Python 中非常重要的東西,你可以把它理解為 Python 的擴展工具。換言之,Python 默認情況下提供了一些可用的東西,但是這些默認情況下提供的還遠遠不能滿足編程實踐的需要,于是就有人專門制作了另外一些工具。這些工具被稱之為“模塊”

任何一個 Pythoner 都可以編寫模塊,并且把這些模塊放到網(wǎng)上供他人來使用。

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

如果沒有納入標準庫的模塊,需要安裝之后才能使用。模塊的安裝方法,我特別推薦使用 pip 來安裝。這里僅僅提一下,后面會專門進行講述,性急的看官可以自己 google。

使用 math 模塊

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

>>> import math

用 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)......

這些我們稱之為函數(shù),也就是在模塊 math 中提供了各類計算的函數(shù),比如計算乘方,可以使用 pow 函數(shù)。但是,怎么用呢?

Python 是一個非常周到的姑娘,她早就提供了一個命令,讓我們來查看每個函數(shù)的使用方法。

>>> help(math.pow)

在交互模式下輸入上面的指令,然后回車,看到下面的信息:

Help on built-in function pow in module math:

pow(...)
    pow(x, y)

    Return x**y (x to the power of y).

這里展示了 math 模塊中的 pow 函數(shù)的使用方法和相關(guān)說明。

  1. 第一行意思是說這里是 math 模塊的內(nèi)建函數(shù) pow 幫助信息(所謂 built-in,稱之為內(nèi)建函數(shù),是說這個函數(shù)是 Python 默認就有的)
  2. 第三行,表示這個函數(shù)的參數(shù),有兩個,也是函數(shù)的調(diào)用方式
  3. 第四行,是對函數(shù)的說明,返回 x**y 的結(jié)果,并且在后面解釋了 x**y 的含義。
  4. 最后,按 q 鍵返回到 Python 交互模式

從上面看到了一個額外的信息,就是 pow 函數(shù)和 x**y 是等效的,都是計算 x 的 y 次方。

>>> 4**2
16
>>> math.pow(4,2)
16.0
>>> 4*2
8

特別注意,4**24*2 是有很大區(qū)別的。

用類似的方法,可以查看 math 模塊中的任何一個函數(shù)的使用方法。

關(guān)于“函數(shù)”的問題,在這里不做深入闡述,看管姑且按照自己在數(shù)學(xué)中所學(xué)到去理解。后面會有專門研究函數(shù)的章節(jié)。

下面是幾個常用的 math 模塊中函數(shù)舉例,看官可以結(jié)合自己調(diào)試的進行比照。

>>> 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

幾個常見函數(shù)

有幾個常用的函數(shù),列一下,如果記不住也不要緊,知道有這些就好了,用的時候就 google。

求絕對值

>>> abs(10)
10
>>> abs(-10)
10
>>> abs(-1.2)
1.2

四舍五入

>>> round(1.234)
1.0
>>> round(1.234,2)
1.23

>>> # 如果不清楚這個函數(shù)的用法,可以使用下面方法看幫助信息
>>> help(round)

Help on built-in function round in module __builtin__:

round(...)
    round(number[, ndigits]) -> floating point number

    Round a number to a given precision in decimal digits (default 0 digits).
    This always returns a floating point number.  Precision may be negative.

運算優(yōu)先級

從小學(xué)數(shù)學(xué)開始,就研究運算優(yōu)先級的問題,比如四則運算中“先乘除,后加減”,說明乘法、除法的優(yōu)先級要高于加減。

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

下面的表格中列出了 Python 中的各種運算的優(yōu)先級順序。不過,就一般情況而言,不需要記憶,完全可以按照數(shù)學(xué)中的去理解,因為人類既然已經(jīng)發(fā)明了數(shù)學(xué),在計算機中進行的運算就不需要從新編寫一套新規(guī)范了,只需要符合數(shù)學(xué)中的即可。

運算符 描述
lambda Lambda 表達式
or 布爾“或”
and 布爾“與”
not x 布爾“非”
in,not in 成員測試
is,is not 同一性測試
<,<=,>,>=,!=,== 比較
| 按位或
^ 按位異或
& 按位與
<<,>> 移位
+,- 加法與減法
*,/,% 乘法、除法與取余
+x,-x 正負號
~x 按位翻轉(zhuǎn)
** 指數(shù)
x.attribute 屬性參考
x[index] 下標
x[index:index] 尋址段
f(arguments...) 函數(shù)調(diào)用
(experession,...) 綁定或元組顯示
[expression,...] 列表顯示
{key:datum,...} 字典顯示
'expression,...' 字符串轉(zhuǎn)換

上面的表格將 Python 中用到的與運算符有關(guān)的都列出來了,是按照從低到高的順序列出的。雖然有很多還不知道是怎么回事,不過先列出來,等以后用到了,還可以回來查看。

最后,要提及的是運算中的絕殺:括號。只要有括號,就先計算括號里面的。這是數(shù)學(xué)中的共識,無需解釋。


總目錄   |   上節(jié):除法   |   下節(jié):寫一個簡單的程序

如果你認為有必要打賞我,請通過支付寶:qiwsir@126.com,不勝感激。

上一篇:xml下一篇:Pandas 使用 (1)