本篇主要是關於Python中的time模塊和random模塊的內容,這兩個模塊的常見用法也都有所舉例
time模塊
時間戳:
從1970年1月1日(Unix誕生時間)開始算起的所有秒數
print(time.time()) #表示輸出當前的秒數
兩種結構化時間:
返回值分別是年,月,日,時,分,秒,星期,一年的第幾天
- time.localtime() (表示輸出當前的時間)
import time
t = time.localtime() #獲取當前時間
傳入參數:
#傳入對應的參數可以取出對應的時間值,格式爲變量名.參數名
#如取下取出當前時間的全部信息:
print('當前時間爲:{}年{}月{}日{}時{}分{}秒,本年的第{}天'.format(
t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec, t.tm_yday))
-
time.gmtime()(根據時區來分的結構化時間)
-
將時間戳轉換成結構化時間:time.time()
如,
import time
print(time.localtime(time.time())) #參數爲自定義的秒數
結果:
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=8, tm_hour=23, tm_min=54, tm_sec=54, tm_wday=6, tm_yday=68, tm_isdst=0)
- 將結構化時間轉換成時間戳:time.mktime()
如,
import time
print(time.mktime(time.localtime())) #參數爲對應的結構化時間
結果:
1583682873.0
- 輸出標準格式的時間
import time
print(time.strftime("%Y-%M-%D %X",time.localtime()))
結果:
2020-54-03/08/20 23:54:10
- 將字符串時間轉換成結構化時間
import time
print(time.strptime("2020:3:8:21:57:36", "%Y:%m:%d:%X"))
結果:
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=8, tm_hour=21, tm_min=57, tm_sec=36, tm_wday=6, tm_yday=68, tm_isdst=-1)
- 方便又直觀的時間(兩個方法基本相同)
import time
print(time.asctime())
print(time.ctime())
結果:
Sun Mar 8 23:53:24 2020
Sun Mar 8 23:53:24 2020
- 最直觀的時間
import datetime
print(datetime.datetime.now())
結果:
2020-03-08 23:52:49.954184
random模塊
說白了就是隨機模塊,得到隨機數,或者隨機的其他元素
import random
print(random.random()) #一個0到1的隨機浮點數
print(random.randint(1,5)) #輸出一個1到5的隨機數
print(random.randrange(1,5)) #1到4的隨機數(randrange少用)
print(random.choice([520,13,14])) #從幾個元素中選擇1個(傳入的參數是一個列表,勿忘中括號)
a,b = random.sample([520,13,14],2) #從幾個元素中選擇2個,第二個參數爲需要選的個數
print(a,b)
print(random.uniform(1,5)) #從1到5範圍的浮點數
ret = [1,2,3,4,5]
random.shuffle(ret) #將順序打亂
print(ret)
運行結果:
0.12082253858819325
1
3
13
13 520
1.295247508908592
[1, 4, 2, 5, 3]
寫一個生成隨機驗證碼的函數
import random
def code():
ret=''
for i in range(4): #遍歷4次,得到4位的驗證碼
num = random.randint(0,9) #0到9的隨機數
alf = chr(random.randint(65,122)) #傳入ASCII碼,轉成對應字符,這裏是大小寫字母的ASCII碼
s = str(random.choice([num,alf])) #從字母和數字中選擇一個,再轉成字符串類型
ret+=s #字符串拼接
return ret #返回拼接好的字符串
print(code()) #調用函數,輸出返回值
輸出當前執行文件的絕對路徑:
print(__file__)
運行結果:
572Y
好了,time、random這兩個非常常用的模塊的基本功能和用法就總結完了