Python 基礎之模塊之math random time

:math 數學模塊
import math
#(1)ceil() 向上取整操做 (對比內置round)
res = math.ceil(6.001)  #注意精度損耗
print(res)
#(2)floor()  向下取整操做 (對比內置round)
res = math.floor(3.5)
res = math.floor(3.999999999)
print(res)
#(3)pow() 計算一個數值的N次方(結果爲浮點數)  (對比內置pow)
res = math.pow(2,3)
#res = math.pow(2,3,3) #math模塊中的pow 只有2個參數
print(res)
#print(pow(2,3))
#print(pow(2,3,5))
#(4)sqrt() 開平方運算(結果浮點數)
res = math.sqrt(9)
print(res)
#(5)fabs() 計算一個數值的絕對值(結果浮點數) (對比內置abs)
res = math.fabs(-1)
print(res)
#(6)modf() 將一個數值拆分爲正數和小數兩部分組成元組
res = math.modf(14.66)
print(res)
#(7)copysign() 將參數第二個數值的正負號拷貝給第一個
res = math.copysign(-1234,22)
print(res)
#(8)fsum() 將一個容器數據中的數據進行求和運算(結果浮點數 ) (比對內置sum)
listvar = [3,3123,3,31,43,21]
res = math.fsum(listvar)
print(res)linux

:random 隨機模塊
import random
#(1)random() 獲取隨機0-1之間的小數(左閉右開)
res = random.random()  #0<= x < 1
print(res)
#(2)randrange() 隨機獲取指定範圍內的正數(包含開始值,不包含結束值,間隔值)
res = random.randrange(2)  # 0 1
print(res)
res = random.randrange(1,6)  #1,2,3,4,5
print(res)

res = random.randrange(1,7,3) # 1 4
print(res)
#(3)randint() 隨機產生指定範圍內的隨機正數
#rangdint 目前是惟一一個高位值能夠取獲得的函數 (不推薦使用)
res = random.randint(1,2)
print(res)
#res = rangdom.randint(2,6,2) #沒有間隔值參數 功能不如randrange
#print(res)
#(4)uniform() 獲取指定範圍內的隨機小數(左閉右開)
res = random.uniform(2,4)  #z <= x < 4
print(res)
res = random.uniform(4,-2)
print(res)
#分析:
a = 4, b= -2
return a + (b-a) * self.random()
4+(-2-4) * (0~1)
4+-6*(0~1) =>  當取0時  4
4+-6*(0~1) =>  當取1時  -2 (1是取不到的)
因此:
-2 < x <=4
#(5)choice() 隨機獲取序列中的值(多選一)
listvar = ["one","two","three","four"]
res = random.choice(listvar)
print(res)

#自定義choice
def mychoice():
    num = random.randrange(0,len(listvar))
    res = listvar[num]
    return res
print(mychoice())
#(6)sample() 隨機獲取序列中的值(多選多) [返回列表]
listvar = ["one","two","three","four"]
res = random.sample(listvar,2)
print(res)
#(7)shuffle() 隨機打亂序列中的值(直接打亂原序列)
listvar = ["one","two","three","four"]
random.shuffle(listvar)
print(listvar)
#隨機4位驗證碼
def yanzhengma():
    strvar = ""
    for i in range(4):
        #產生大寫字母A-Z
        bchr = chr(random.randrange(65,91))
        #產生小寫字母a~z
        schr = chr(random.randrange(97,123))
        #數字0~9
        num = str(random.randrange(0,10))
        #把全部隨機值得種類賽道列表裏
        listvar = [bchr,schr,num]
        #隨機選取一個
        res = random.choice(listvar)
        #拼接字符串
        strvar += res
    #返回字符串
    return strvar
res = yanzhengma()
print(res)dom

:time 時間模塊
import time
#(1)time() 獲取本地時間戳
res = time.time()
print(res)
#(2)mktime()  經過[時間元組]獲取[時間戳] (參數是時間元組)
ttp = (2019,5,16,10,55,30,0,0,0)
print("=========")
res = time.localtime()
print(res)
res = time.mktime(res)
print(res)
print("------------")
#(3)localtime() 經過[時間戳] 獲取[時間元組]  (默認當前時間)
res = time.localtime()
print(res)
res = time.localtime(1557979012)
print(res)
#輸出結果:
time.struct_time
(
tm_year=2019,
tm_mon=5,
tm_mday=16,
tm_hour=11,
tm_min=56,
tm_sec=52,
tm_wday=3,
tm_yday=136, t
m_isdst=0
)
#(4)ctime() 經過[時間戳]回去[時間字符串] (默認當前時間)
res = time.ctime()
print(res)

res = time.ctime(1557979012)
print(res)
#(5)asctime()  經過[時間元組]獲取[時間字符串] (參數是時間元組)
ttp = (2019,5,16,14,33,3,2,0,0)
res = time.asctime(ttp)
print(res)
#(6)strftime()  經過[時間元組]格式化[時間字符串] (格式化字符串,[可選時間元組參數])
res = time.strftime("%Y-%m-%d %H:%M:%S")
print(res)
ttp = (2019,5,16,14,33,3,2,0,0)
res = time.strftime("%Y-%m-%d %H:%M:%S",ttp)
print(res)
#注意點Windows不支持strftime 的中文字符 linux徹底能夠
#res = time.strftime("%Y-%m-%d %H:%M:%S 今天是誰的生日呢" )
print(res)
#(8)strptime()  經過[時間字符串]提取出[時間元組]  (時間字符串,格式化字符串)
#注意點:strptime 在匹配字符串當中的時間時,字符串必須嚴絲合縫,不能隨意修改原有字符.
res = time.strptime("2019年5月17號,早上8點9分20秒的時候咱們出去玩","%Y年%m月%d號早上%H點%M分%S秒")
print(res)
#輸出:
time.struct_time
(
tm_year=2019,
tm_mon=5,
tm_mday=17,
tm_hour=8,
tm_min=9,
tm_sec=20,
tm_wday=4,
tm_yday=137,
tm_isdst=-1
)
#(9)sleep()  程序睡眠等待
#time.sleep(10)  #程序在此加阻塞,10秒以後在向下執行
#print("繼續向下執行")
#(10)per_counter()   用於計算程序運行的時間
#time.time()  同樣能夠實現
print("=================")
start_time = time.perf_counter()
print(start_time)
for i in range(100000000):
    pass
end_time = time.perf_counter()
print(end_time)
res = end_time - start_time
print(res)函數

相關文章
相關標籤/搜索