1. 程式人生 > >【Rollo的Python之路】python random函數與time 函數

【Rollo的Python之路】python random函數與time 函數

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表示遞增基數

import
random 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 函數