python基礎教程之數文書處理(math)模組詳解_python

來源:互聯網
上載者:User


1.math簡介

複製代碼 代碼如下:

>>> import math
>>>dir(math)          #這句可查看所有函數名列表
>>>help(math)         #查看具體定義及函數0原型

2.常用函數

複製代碼 代碼如下:

ceil(x) 取頂
floor(x) 取底
fabs(x) 取絕對值
factorial (x) 階乘
hypot(x,y)  sqrt(x*x+y*y)
pow(x,y) x的y次方
sqrt(x) 開平方
log(x)
log10(x)
trunc(x)  截斷取整數部分
isnan (x)  判斷是否NaN(not a number)
degree (x) 弧度轉角度
radians(x) 角度轉弧度

另外該模組定義了兩個常量:

複製代碼 代碼如下:

e = 2.718281828459045
pi = 3.141592653589793

random

1.簡介

random是用於產生隨機數,我們可以利用它隨機產生數字或者選擇字串

複製代碼 代碼如下:

import random

2.常用函數

random.random()
用於產生一個隨機浮點數:range[0.0,1.0)

複製代碼 代碼如下:

>>> import random
>>> random.random()
0.999410896951364
random.uniform(a,b)

用於產生一個指定範圍內的隨機浮點數,a,b為上下限

只要a!=b,就會產生介於兩者之間的一個浮點數,若a=b,則產生的浮點數就是a

複製代碼 代碼如下:

>>> random.uniform(10,20)
13.224754825064881
>>> random.uniform(20,10)
14.104410713376437
>>> random.uniform(10,10)
10.0

random.randint(a,b)
用於產生一個指定範圍內的整數,a為下限,b為上限,產生的隨機整數a<=n<=b;

若a=b,則n=a;若a>b,報錯

複製代碼 代碼如下:

>>> random.uniform(10,10)
10.0
>>> random.randint(10,20)
15
>>> random.randint(10,10)
10
>>> random.randint(20,10)
Traceback (most recent call last):
……
ValueError: empty range for randrange() (20,11, -9)

random.randrange([start], stop, [,step])
從指定範圍內,按指定基數遞增的集合中擷取一個隨機數,基數預設值為1

複製代碼 代碼如下:

>>> random.randrange(10,100,5)
95
>>> random.randrange(10,100,5)
45

random.choice(sequence)
從序列中擷取一個隨機元素,參數sequence表示一個有序類型,並不是一種特定類型,泛指list,tuple,字串等

複製代碼 代碼如下:

>>> random.choice([1,2,3,4])
1
>>> random.choice([1,2,3,4])
3
>>> random.choice('hello')
'e'

random.shuffle(x[, random])
用於將一個列表中的元素打亂

複製代碼 代碼如下:

>>> a = [1,2,3,4,5]
>>> random.shuffle(a)
>>> a
[4, 5, 2, 1, 3]
>>> random.shuffle(a)
>>> a
[3, 2, 5, 1, 4]

random.sample(sequence, k)
從指定序列中隨機擷取k個元素作為一個片段返回,sample函數不會修改原有序列

複製代碼 代碼如下:

>>> a = [1,2,3,4,5]
>>> random.sample(a,3)
[1, 4, 5]
>>> random.sample(a,3)
[1, 2, 5]
>>> a
[1, 2, 3, 4, 5]

decimal

1.簡介

預設,浮點數學缺乏精確性

decimal 模組提供了一個 Decimal 資料類型用於浮點數計算。相比內建的二進位浮點數實現 float這個類型有助於

金融應用和其它需要精確十進位表達的場合,
控制精度,
控制舍入以適應法律或者規定要求,
確保十進位數位精度,或者使用者希望計算結果與手算相符的場合。
Decimal 重現了手工的數學運算,這就確保了二進位浮點數無法精確保有的資料精度。 高精度使 Decimal 可以執行二進位浮點數無法進行的模運算和等值測試。

2.使用

複製代碼 代碼如下:

>>> from decimal import Decimal
>>> Decimal('0.1') / Decimal('0.3')
Decimal('0.3333333333333333333333333333')

>>> from decimal import getcontext
>>> getcontext().prec = 4 #設定全域精度
>>> Decimal('0.1') / Decimal('0.3')
Decimal('0.3333')   

fractions
分數類型

構造

複製代碼 代碼如下:

>>> from fractions import Fraction
>>> Fraction(16, -10)  #分子分母
Fraction(-8, 5)
>>> Fraction(123)   #分子
Fraction(123, 1)

>>> Fraction('3/7')   #字串分數
Fraction(3, 7)

>>> Fraction('-.125')  #字串浮點數
Fraction(-1, 8)

>>> Fraction(2.25)  #浮點數
Fraction(9, 4)

>>> from decimal import Decimal
>>> Fraction(Decimal('1.1')) #Decimal
Fraction(11, 10)

計算

複製代碼 代碼如下:

>>> from fractions import Fraction
>>> a = Fraction(1,2)
>>> a
Fraction(1, 2)
>>> b = Fraction('1/3')
>>> b
Fraction(1, 3)
>>> a + b
Fraction(5, 6)
>>> a - b
Fraction(1, 6)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.