python--random、datetime模块用法

本文介绍了Python的random模块,包括random.random()、random.uniform()、random.randint()、random.randrange()、random.choice()、random.shuffle()和random.sample()等方法的使用。此外,还讲解了datetime模块,如datetime.now()、datetime.strftime()以及时间运算中的timedelta对象,展示了如何进行时间的加减操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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类型的实例。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值