欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中Random和Math模塊學(xué)習(xí)筆記

 更新時(shí)間:2015年05月18日 09:46:05   投稿:junjie  
這篇文章主要介紹了Python中Random和Math模塊學(xué)習(xí)筆記,本文講解了math模塊的數(shù)學(xué)常量、常用簡(jiǎn)單函數(shù)、三角函數(shù)等,講解了random模塊的常用函數(shù)、隨機(jī)挑選和排序等內(nèi)容,需要的朋友可以參考下

由于最近經(jīng)常使用到Python中random,math和time``datetime模塊, 所以決定花時(shí)間系統(tǒng)的學(xué)習(xí)一下

1. math模塊

math中的函數(shù)不可以用于太過(guò)復(fù)雜的數(shù)的運(yùn)算, 如果需要復(fù)雜數(shù)的運(yùn)行最好使用cmath模塊中同名函數(shù), 如果想要更加高級(jí)的數(shù)學(xué)功能,可以考慮選擇標(biāo)準(zhǔn)庫(kù)之外的numpy和scipy模塊,它們不但支持?jǐn)?shù)組和矩陣運(yùn)算,還有豐富的數(shù)學(xué)和物理方程可供使用

1.1. 數(shù)學(xué)常量

math.pi 這個(gè)數(shù)學(xué)常量等于 3.141592...
math.e 這個(gè)數(shù)學(xué)常量 e = 2.718281...,

1.2. 常用簡(jiǎn)單函數(shù)

math.ceil(x) : 對(duì)x向上取整,返回最小整數(shù)值大于或者等于x

復(fù)制代碼 代碼如下:

# -*- coding:utf-8 -*-
import math  #僅在第一次聲明, 以下都將省略
print math.ceil(math.pi)  #math.pi是圓周率pi, 類(lèi)似于C/C++中的宏
//輸出4

math.floor(x) : 對(duì)x向下取整, 返回整數(shù)值小于或者等于x

復(fù)制代碼 代碼如下:

>>> import math
>>> math.floor(math.pi)
3.0

math.pow(x,y) : 指數(shù)運(yùn)算,得到x的y次方
復(fù)制代碼 代碼如下:

>>> math.pow(2, 3)
8.0

math.log(x[, base]) : 對(duì)數(shù)運(yùn)算,默認(rèn)基底為e的對(duì)數(shù)運(yùn)算。使用base參數(shù)時(shí),改變對(duì)數(shù)的基底, 變?yōu)橐詁ase為底的對(duì)數(shù)運(yùn)算
復(fù)制代碼 代碼如下:

>>> math.log(10)
2.302585092994046
>>> math.log(8, 2)   #log(x)/log(base).
3.0

math.sqrt(x) 平方根計(jì)算
復(fù)制代碼 代碼如下:

>>> math.sqrt(4)
2.0

math.fabs(x) 取絕對(duì)值
math.factorial(x) 求階乘, 即x!
math.exp(x) 求e的x次方
1.3. 三角函數(shù)
以下函數(shù)都接收一個(gè)弧度(radian)為單位的x作為參數(shù)

復(fù)制代碼 代碼如下:

math.acos(x) #求arccos(x)
math.asin(x) #求arcsin(x)
math.atan(x) #求arctan(x)
math.cos(x)  #求cos(x)
math.sin(x)  #求sin(x)
math.tan(x)  #求tan(x)

math.degrees(x) 角度制轉(zhuǎn)化為弧度制
math.radians(x) 弧度制轉(zhuǎn)化為角度制

復(fù)制代碼 代碼如下:

>>> math.degrees(math.pi / 2)
90.0

1.5. 雙曲函數(shù)和特殊函數(shù)

math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)
還有些函數(shù)基本沒(méi)用過(guò)

2. random模塊

random模塊的作用是產(chǎn)生隨機(jī)數(shù), 這個(gè)模塊實(shí)現(xiàn)了偽隨機(jī)數(shù)產(chǎn)生器

1.1. 常用函數(shù)

random.seed([x]) 用戶(hù)初始化一個(gè)隨機(jī)數(shù)種子, 可選參數(shù)可以是任何hashtable對(duì)象,默認(rèn)使用系統(tǒng)時(shí)間
random.randint(a, b) 返回一個(gè)a到b之間的整數(shù)

random.randrange([start], stop[, step]) 從指定范圍內(nèi),按指定基數(shù)遞增的集合中 獲取一個(gè)隨機(jī)數(shù)。如:random.randrange(10, 100, 2),結(jié)果相當(dāng)于從[10, 12, 14, 16, … 96, 98]序列中獲取一個(gè)隨機(jī)數(shù)。random.randrange(10, 100, 2)在結(jié)果上與 random.choice(range(10, 100, 2) 等效。

random.randrange(start, stop, step)等價(jià)于random.choice(range(start, stop, step))

復(fù)制代碼 代碼如下:

>>> random.randrange(10, 100, 2)
90

1.2. 隨機(jī)挑選和排序
random.choice(sequence) : 從序列中獲取一個(gè)隨機(jī)元素. 參數(shù)sequence表示一個(gè)有序類(lèi)型。這里要說(shuō)明 一下:sequence在python不是一種特定的類(lèi)型,而是泛指一系列的類(lèi)型。list, tuple, 字符串都屬于sequence

復(fù)制代碼 代碼如下:

>>> random.choice(range(10))
1
>>> random.choice((1, 2, 3, 4))
3

random.sample(sequence, k) # 從指定序列中隨機(jī)獲取指定長(zhǎng)度k的片斷。sample函數(shù)不會(huì)修改原有序列
復(fù)制代碼 代碼如下:

>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> new_lst = random.sample(lst, 6)
>>> print new_lst
[8, 9, 2, 1, 5, 4]
>>> print lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

random.shuffle(x[, random]),用于將一個(gè)列表中的元素打亂, 不會(huì)生成新的列表
復(fù)制代碼 代碼如下:

>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> random.shuffle(lst)
>>> print lst
[10, 5, 2, 7, 3, 9, 4, 8, 6, 1]

1.3. 隨機(jī)生成實(shí)數(shù)

生成的實(shí)數(shù)符合均勻分布(uniform distribution)

random.random() 隨機(jī)生成下一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)。
random.uniform(a,b) 隨機(jī)生成下一個(gè)實(shí)數(shù),它在[a,b]范圍內(nèi)。


復(fù)制代碼 代碼如下:

>>> random.random()
0.019433835195078797
>>> random.uniform(3, 8)
6.830376841208885

random.gauss(mu,sigma) 隨機(jī)生成符合高斯分布的隨機(jī)數(shù),mu,sigma為高斯分布的兩個(gè)參數(shù)。
random.expovariate(lambd) 隨機(jī)生成符合指數(shù)分布的隨機(jī)數(shù),lambd為指數(shù)分布的參數(shù)。

其余是一些目前沒(méi)用過(guò)的函數(shù), 以后用到了再補(bǔ)充

3. 參考鏈接

random官網(wǎng)文檔 
math官方文檔

相關(guān)文章

  • python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    本文主要介紹了python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 基于python3.7利用Motor來(lái)異步讀寫(xiě)Mongodb提高效率(推薦)

    基于python3.7利用Motor來(lái)異步讀寫(xiě)Mongodb提高效率(推薦)

    Motor是一個(gè)異步mongodb driver,支持異步讀寫(xiě)mongodb。它通常用在基于Tornado的異步web服務(wù)器中。這篇文章主要介紹了基于python3.7利用Motor來(lái)異步讀寫(xiě)Mongodb提高效率,需要的朋友可以參考下
    2020-04-04
  • Python天氣語(yǔ)音播報(bào)小助手

    Python天氣語(yǔ)音播報(bào)小助手

    馬上就要迎來(lái)國(guó)慶小長(zhǎng)假了,激不激動(dòng),興不興奮!那今年國(guó)慶:天氣怎么樣?能不能出門(mén)逛街?能不能出去旅游?旅游出門(mén)就要挑個(gè)好的天氣!下雨天哪兒哪兒都不舒服。今天小編帶大家寫(xiě)一款Python天氣語(yǔ)音播報(bào)小助手
    2021-09-09
  • python結(jié)合多線程爬取英雄聯(lián)盟皮膚(原理分析)

    python結(jié)合多線程爬取英雄聯(lián)盟皮膚(原理分析)

    多線程是為了同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來(lái)提高系統(tǒng)的效率。這篇文章主要介紹了python爬取英雄聯(lián)盟皮膚結(jié)合多線程的方法,需要的朋友可以參考下
    2021-05-05
  • python3 assert 斷言的使用詳解 (區(qū)別于python2)

    python3 assert 斷言的使用詳解 (區(qū)別于python2)

    今天小編就為大家分享一篇python3 assert 斷言的使用詳解 (區(qū)別于python2),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python列表使用實(shí)現(xiàn)名字管理系統(tǒng)

    python列表使用實(shí)現(xiàn)名字管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python列表使用實(shí)現(xiàn)名字管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python中的pyecharts庫(kù)使用總結(jié)

    Python中的pyecharts庫(kù)使用總結(jié)

    這篇文章主要介紹了Python中的pyecharts庫(kù)使用總結(jié),Pyecharts 提供了一個(gè)簡(jiǎn)單而直觀的 API 接口,使得使用者無(wú)需了解復(fù)雜的 JavaScript 語(yǔ)法,即可通過(guò) Python 代碼實(shí)現(xiàn)高度定制化的圖表設(shè)計(jì),需要的朋友可以參考下
    2023-12-12
  • Python3中的算術(shù)運(yùn)算符詳解

    Python3中的算術(shù)運(yùn)算符詳解

    這篇文章主要介紹了Python3中的算術(shù)運(yùn)算符詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • python中open用法的使用指南

    python中open用法的使用指南

    在Python中,open()函數(shù)用于打開(kāi)文件,并返回一個(gè)文件對(duì)象,可以使用該對(duì)象來(lái)讀取或?qū)懭胛募?shù)據(jù),本文主要介紹了python中open用法的使用指南,感興趣的可以了解一下
    2023-12-12
  • 解決pycharm安裝后代碼區(qū)不能編輯的問(wèn)題

    解決pycharm安裝后代碼區(qū)不能編輯的問(wèn)題

    今天小編就為大家分享一篇解決pycharm安裝后代碼區(qū)不能編輯的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10

最新評(píng)論