亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python中Random和Math模塊學習筆記

系統 1909 0

由于最近經常使用到Python中random,math和time``datetime模塊, 所以決定花時間系統的學習一下

1. math模塊

math中的函數不可以用于太過復雜的數的運算, 如果需要復雜數的運行最好使用cmath模塊中同名函數, 如果想要更加高級的數學功能,可以考慮選擇標準庫之外的numpy和scipy模塊,它們不但支持數組和矩陣運算,還有豐富的數學和物理方程可供使用

1.1. 數學常量

math.pi 這個數學常量等于 3.141592...
math.e 這個數學常量 e = 2.718281...,

1.2. 常用簡單函數

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

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

math.log(x[, base]) : 對數運算,默認基底為e的對數運算。使用base參數時,改變對數的基底, 變為以base為底的對數運算
復制代碼 代碼如下:

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

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

>>> math.sqrt(4)
2.0

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

復制代碼 代碼如下:

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) 角度制轉化為弧度制
math.radians(x) 弧度制轉化為角度制

復制代碼 代碼如下:

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

1.5. 雙曲函數和特殊函數

math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)
還有些函數基本沒用過

2. random模塊

random模塊的作用是產生隨機數, 這個模塊實現了偽隨機數產生器

1.1. 常用函數

random.seed([x]) 用戶初始化一個隨機數種子, 可選參數可以是任何hashtable對象,默認使用系統時間
random.randint(a, b) 返回一個a到b之間的整數

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

>>> 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]),用于將一個列表中的元素打亂, 不會生成新的列表
復制代碼 代碼如下:

>>> 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. 隨機生成實數

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

random.random() 隨機生成下一個實數,它在[0,1)范圍內。
random.uniform(a,b) 隨機生成下一個實數,它在[a,b]范圍內。


復制代碼 代碼如下:

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

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

其余是一些目前沒用過的函數, 以后用到了再補充

3. 參考鏈接

random官網文檔?
math官方文檔


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩视频 中文字幕 视频一区 | 最猛黑人xxxⅹ黑人猛交 | 国产精品亚欧美一区二区三区 | 成人午夜精品网站在线观看 | 久久久日本精品一区二区三区 | 中文日韩 | 亚洲日本一区二区三区在线不卡 | 欧美精品亚洲人成在线观看 | 亚洲高清中文字幕综合网 | 日韩高清一区二区三区不卡 | 黄片123| 日本特级爽毛片叫声 | 欧美高清一区二区三 | 国产精品久久久久久久免费大片 | 欧美日韩中文字幕 | 日韩中文字幕视频在线 | 黄色伊人网 | 少妇美女极品美軳人人体 | 日本视频h| 真人特级毛片免费视频 | 99久久99热久久 | 91精品国产综合久久久久 | 国产在线免 | 国产91精品福利在线观看 | 99精品这里只有精品高清视频 | 国产精品午夜在线观看 | 全部费免一级毛片不收费 | 亚洲精品久久久久中文字小说 | 天天干天天操天天做 | 国产成年 | 欧美在线激情 | 一本一本久久a久久精品综合 | 天天操天天操天天操天天操 | www在线小视频免费 www中文字幕 | 亚洲视频区 | 清纯唯美亚洲综合日韩第 | 国产农村精品一级毛片视频 | 日韩国产欧美成人一区二区影院 | 97久久曰曰久久久 | 亚洲图片在线观看 | 色老成人精品视频在线观看 |