random
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。
random()是不能直接访问的,需要导入random模块通过random静态调用该方法。
1. random.random()
random.random()返回一个随机数,其在0至1的范围之内,以下是其具体用法:
import random
print ("随机数: ",random.random())
输出结果:
2. random.uniform(a, b)
random.uniform(a, b)返回随机生成的一个浮点数,范围在[a, b)之间,具体用法如下:
import random
print(random.uniform(1,5))
输出结果:
3. random.randint(a,b)
random.randint(a,b)生成指定范围内的整数 ,具体用法如下:
import random
print (random.randint(6,8))
输出结果:
4. random.randrange()
random.randrange([start],stop[,step])在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,具体用法如下:
import random
print (random.randrange(6, 28, 3))
输出结果:
5. random.choice()
random.choice()从序列中获取一个随机元素,其原型为random.choice(sequence),参数sequence表示一个有序类型。这里说明一下,sequence在Python中不是一种特定的类型,而是泛指序列数据结构。列表,元组,字符串都属于sequence。,具体用法如下:
import random
print(random.choice('python')) # 从字符串中随机取一个字符
print(random.choice(['good', 'hello', 'is', 'hi', 'boy'])) # 从list列表中随机取
print(random.choice(('str', 'tuple', 'list'))) # 从tuple元组中随机取
输出结果:
6. random.shuffle()
random.shuffle()函数是将一个列表中的元素打乱,随机排序,具体用法如下:
import random
num = [1, 2, 3, 4, 5]
random.shuffle(num)
print (num)
输出结果:
7. random.sample()
random.sample(sequence,k)函数是从指定序列中随机获取指定长度的片段,原有序列不会改变,有两个参数,第一个参数代表指定序列,第二个参数是需获取的片段长度,具体用法如下:
import random
num = [1, 2, 3, 4, 5]
sli = random.sample(num, 3)
print (sli)
输出结果:
datetime
datetime.now()
datetime.now()显示年月日时分秒毫秒,具体用法如下:
from datetime import datetime
print(datetime.today())
输出结果:
datetime.strftime()
datetime.strftime()按指定格式输入时间,这就涉及到打印格式化字符,常用的几个:
字符 | 意义 |
%Y | 完整的年份 |
%y | 去掉世纪的年份 |
%m | 月份(01 - 12) |
%d | 一个月中的第几天(01 - 31) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%M | 分钟数(00 - 59) |
%S | 秒(01 - 61) |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%Z | 时区的名字(如果不存在为空字符) |
如果读入一个时间列,此时type为str,为了对此作时间运算,需要将其转化为datetime,使用strptime(string parse time),它是datetime的类方法:
from datetime import datetime
print(datetime.strptime('2020-08-28 22:06:20','%Y-%m-%d %H:%M:%S'))
输出结果:
基本运算
有时需要求偏离某个时间的时间,timedelta对象能满足此需求。
比如,求当前时间的前12小时的日期+时间。
首先,导入timedelta类:
from datetime import timedelta
直接使用当前时间减去timedelta表示的12小时长度,注意第一个参数的含义为days,所以除以 24:
from datetime import datetime
from datetime import timedelta
print(datetime.now() - timedelta(12/24))
输出结果:
由上面这个用法,可以总结为:
datetime1 - timedelta1 = datetime2
所以 datetime1 - datetime2 = timedelta1,故两个时间相减得到timedelta类型的实例。