官术网_书友最值得收藏!

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] 
主站蜘蛛池模板: 屏东县| 元阳县| 元江| 大余县| 尚志市| 峨边| 会昌县| 上思县| 麻城市| 永修县| 霍林郭勒市| 双峰县| 邳州市| 朝阳市| 新平| 定边县| 高密市| 洪湖市| 土默特左旗| 探索| 攀枝花市| 临湘市| 海伦市| 赫章县| 林口县| 平武县| 冀州市| 安乡县| 韶山市| 托克逊县| 安福县| 安吉县| 轮台县| 海宁市| 灵山县| 湛江市| 垦利县| 潢川县| 马龙县| 剑川县| 邮箱|