- Python編程基礎與數據分析
- 王娟 華東 羅建平
- 1376字
- 2020-09-11 16:42:30
2.5 相關標準庫
2.5.1 math模塊
標準庫中的math模塊提供了大量的數學函數。通過這些函數,我們可以執行豐富的數學運算。值得注意的是該模塊中的函數均不適用于復數運算。
標準庫中的模塊,以如下格式使用:
import模塊名
引入math庫即為import math
對模塊中函數的相關使用方法進行查詢,可以通過如下語句:
help(模塊名.函數名)
Python中math模塊的常用函數、常量如下:
ceil(x):取大于等于x的最小的整數值,如果x是一個整數,則返回x。
>>> math.ceil (3.4) 4 >>> math.ceil (-3.6) -3
copysign(x,y):返回由y的符號、x的絕對值構成的浮點數。
>>> math.copysign (-3, 4) 3.0 >>> math.copysign (3, -4) -3.0 >>> math.copysign (3, 0) 3.0
pi:數字常量,圓周率。
>>> math.pi
3.141592653589793
sin(x),cos(x),asin(x),acos(x):求x的正弦,余弦,反正弦,反余弦值,x必須是弧度值。
>>> math.cos (math.pi/6)
0.8660254037844387
tan(x),atan(x):求x(x為弧度值)的正切值,反正切值。
>>> math.tan (math.pi/6)
0.5773502691896257
sqrt(x):求x的平方根。
math.sqrt (2)
1.4142135623730951
trunc(x):返回x的整數部分。
>>> math.trunc (3.567)
3
degrees(x):把x從弧度轉換成角度。
>>> math.degrees (math.pi)
180.0
e:表示數學常量e。
>>> math.e
2.718281828459045
exp(x):返回math.e的x次方。
>>> math.exp (3)
20.085536923187668
expm1(x):返回math.e的x次方的值減1。
>>> math.expm1 (3)
19.085536923187668
fabs(x):返回x的絕對值。
>>> math.fabs (-3.5)
3.5
factorial(x):取x的階乘的值。
>>> math.factorial (5)
120
floor:取小于等于x的最大的整數值,如果x是一個整數,則返回自身。
>>> math.floor (3.5) 3 >>> math.floor (4.5) 4 >>> math.floor (4) 4 >>> math.floor (-3.5) -4
trunc(x):返回x的整數部分
>>> math.trunc (3.567)
3
fmod(x,y):得到x/y的余數,其值是一個浮點數。
>>> math.fmod (10, 3)
1.0
fsum(x):對迭代器里的每個元素進行求和操作。
>>>math.fsum ( [1, 2, 3, 4, 5] )
15.0
gcd(x,y):返回x和y的最大公約數。
>>> math.gcd (35, 75)
5
isnan(x):如果x不是數字則返回True,否則返回False。
>>> math.isnan (4.45)
False
log(x[,base]):返回x的自然對數,默認以e為底數,base參數給定時,則以給定的base為底數。
>>> math.log (2, 3)
0.6309297535714574
log10(x):返回x的以10為底的對數。
>>>math.log10 (5)
0.6989700043360189
log2(x):返回x的基數2的對數。
>>> math.log2 (16)
4.0
modf(x):返回由x的小數部分和整數部分組成的元組。
>>> math.modf (3.45)
(0.4500000000000002, 3.0)
pow(x,y):返回x的y次方,即x**y。
>>> math.pow (3, 4)
81.0
radians(x):把角度x轉換成弧度。
>>> math.radians (90)
1.5707963267948966
2.5.2 random模塊
random模塊提供了生成隨機數、將序列元素順序隨機化等功能。
引入random模塊的方法如下:
import random
下面對該模塊中的常用函數介紹如下:
random( ):用于生成一個[0,1)之間的隨機數,包含0,但不包含1。
>>> random.random ( )
0.18179685450755578
uniform(a,b):用于生成一個指定范圍內的隨機浮點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: a ≤n≤b。如果a <b,則b ≤n ≤a。
>>> random.uniform (1, 10) 4.6962412897308825 >>> random.uniform (10, 1) 1.4117853360456198
randint(a,b): 用于生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b。
>>> random.randint (1, 100)
22
choice(sequence):從序列中獲取一個隨機元素。其函數原型為:random.choice(sequence)。
參數sequence表示一個序列。這里要說明一下:序列在Python中不是一種特定的類型,而是泛指一系列的類型。列表、元組、字符串都屬于序列。
>>> random.choice ( [1, 12, 45, 36, 53] ) 36 >>> random.choice (range (10, 30, 2) ) 10
randrange([start],stop[,step]):從指定范圍內,按指定基數遞增的集合中,獲取一個隨機數。
>>> random.randrange (10, 30, 2) 12 >>> random.randrange (10, 30, 2) 28
random.randrange(10,30,2),結果相當于從[10,12,14,16,... 26,28]序列中獲取一個隨機數。
random.randrange(10,30,2)在結果上與random.choice(range(10,30,2))等效。
shuffle(x[,random]):用于將一個列表中的元素打亂,即將列表內的元素隨機排列。
>>> a= [2, 4, 6, 8, 10]
>>> random.shuffle (a)
>>> print (a)
[6, 8, 2, 10, 4]
sample(sequence,k):從指定序列中隨機獲取指定長度的子序列并隨機排列。
注意:sample函數不會修改原有序列。
>>> a= [2, 4, 6, 8, 10] >>> print (random.sample (a, 4) ) [2, 6, 8, 4] >>> print (a) [2, 4, 6, 8, 10]
- Mastering NetBeans
- HTML5移動Web開發技術
- Python數據分析基礎
- Debian 7:System Administration Best Practices
- Learning Elixir
- Git高手之路
- Mastering Drupal 8 Views
- Learning Three.js:The JavaScript 3D Library for WebGL
- Java高并發核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Quantum Computing and Blockchain in Business
- C編程技巧:117個問題解決方案示例
- C指針原理揭秘:基于底層實現機制
- C陷阱與缺陷
- Penetration Testing with the Bash shell
- Learning Image Processing with OpenCV