【Rollo的Python之路】python random函數與time 函數
阿新 • • 發佈:2019-05-03
localtime 返回 分鐘 數字 需要 %s mat 紀元 clock
random() 方法返回隨機生成的一個實數,它在[0,1)範圍內。
import random
print(random.random()) #隨機生成一個0-1的數字
註意:random()是不能直接訪問的,需要導入 random 模塊,然後通過 random 靜態對象調用該方法。
import random print(random.randint(1,9)) #隨機一個大於1小於9的小數,randint裏面是整數範圍 print(random.randrange(1,9,2) ) #隨機一個大於1小於9的奇數,2表示遞增基數
importrandom print(random.choice([‘123‘,‘abc‘,52,[1,2]])) #隨機返回參數列表中任意一個元素 print(random.sample([‘123‘,‘abc‘,52,[1,2]],3)) #隨機返回參數,3表示返回幾個 #執行結果: 52 [‘abc‘, [1, 2], 52]
import random lis = [1,2,5,7,9,10] random.shuffle(lis) #打亂順序 print(lis) #執行結果: [1, 7, 2, 10, 9, 5]
import random random.uniform(1, 10) #執行結果: 隨機浮點數
練習:隨機生成驗證碼
import random def qr_code(): code="" for i in range(5): if i == random.randint(0,9): add = random.randrange(10) else: add = chr(random.randrange(65,91)) code+= str(add) print(code) qr_code()
高級版:
import random def qr_code(): code="" for i in range(5): add = random.choice([random.randrange(10),chr(random.randrange(65,91))]) code += str(add) print(code) qr_code()
time函數:
1.時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日開始按秒計算的偏移量(time.gmtime(0))此模塊中的函數無法處理1970紀元年以前的時間或太遙遠的未來(處理極限取決於C函數庫,對於32位系統而言,是2038年) 2.UTC(Coordinated Universal Time,世界協調時)也叫格林威治天文時間,是世界標準時間.在我國為UTC+8 3.DST(Daylight Saving Time)即夏令時 4.一些實時函數的計算精度可能不同
time模塊的格式:
1.0 timestamp,通常說法:時間戳。
時間戳表示的是從1970年1月1日開始按秒計算的偏移量(time.gmtime(0))此模塊中的函數無法處理1970紀元年以前的時間或太遙遠的未來
2.0 格式化的時間字符串(Format String):2019-05-03
%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a 本地簡化星期名稱 %A 本地完整星期名稱 %b 本地簡化的月份名稱 %B 本地完整的月份名稱 %c 本地相應的日期表示和時間表示 %j 年內的一天(001-366) %p 本地A.M.或P.M.的等價符 %U 一年中的星期數(00-53)星期天為星期的開始 %w 星期(0-6),星期天為星期的開始 %W 一年中的星期數(00-53)星期一為星期的開始 %x 本地相應的日期表示 %X 本地相應的時間表示 %Z 當前時區的名稱 %% %號本身
3.0 struct_time
time 的內置函數
1.0 Python time time() 返回當前時間的時間戳(1970紀元後經過的浮點秒數)。
time()方法語法:
time.time()
import time print(time.time()) #時間戳 #執行結果: 1556885145.0857482
2.0 time.localtime()
import time print(time.localtime()) #執行結果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=20, tm_min=9, tm_sec=53, tm_wday=4, tm_yday=123, tm_isdst=0) #tm_year 年,tm_mon 月, tm_mday 日, tm_hour=小時, tm_min=分, tm_sec=秒, tm_wday=周(0-6), tm_yday=一年中的第幾天, tm_isdst=
3.0 time.clock():cpu工作時間
import time print(time.clock()) 0.115648466 DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead print(time.clock())
4.0 time.sleep(): 睡眠時間
5.0 time.ctime():
import time print(time.ctime()) #執行結果: Fri May 3 20:19:46 2019
6.0 time.strftime()
import time print(time.strftime("%Y--%m--%d %H:%M:%S %a")) #執行結果: 2019--05--03 20:23:24 Fri
7.0 time.gmtime():UTC時間
import time print(time.gmtime()) #執行結果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=12, tm_min=24, tm_sec=38, tm_wday=4, tm_yday=123, tm_isdst=0)
8.0 time.strptime():把一個格式化時間字符串轉化為struct_time,實際上它和strftime()是逆操作
print(time.strptime("2019-05-03","%Y-%m-%d")) #執行結果: time.struct_time(tm_year=2019, tm_mon=5, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=123, tm_isdst=-1)
9.0 time.mktime()
接受時間元組並返回時間輟(1970紀元年後經過的浮點秒數)
【Rollo的Python之路】python random函數與time 函數