Python中标准库time、datetime、calendar、random的使用

time库的使用

  • time库基本介绍
  • 时间获取
  • 时间格式化
  • 程序计时应用

time库基本介绍

time库是 Python中处理时间的标准库

import time
time.< b >()

  • 计算机时间的表达
  • 提供获取系统时间并格式化输出功能
  • 提供系统级精确计时功能,用于程序性能分析

time库包括三类函数

  • 时间获取:time() ctime() gmtime()
  • 时间格式化: strftime() strptime()
  • 程序计时:sleep(), perf_counter()

时间获取

函数描述
time()获取当前时,即计算机内部时问值,浮数
>>>time.time()
15169398766022282
ctime获取当前时间井以易读方式表示,返回字符串
>>>time.ctime()
Fri Jan 26 12:11:16 2018
gmtime获取当前时间,表示为计算机可处理的时间格式

时间格式化

将时间以合理的方式展示出来

  • 样式化:类似字符串格式化,需要有展示模板
  • 展示模板由特定的格式化控制符组成
  • strftime()方法\
函数描述
strftime(tpl, ts)tpl是格式化模板字符串,用来定义输出效果;ts是计算机内部时间类型变量
>>>t = time. gmtime()
>>>time. strftime("%Y%m-%d %H: %M:%S",t)
2018-01-2612:55:20

格式化控制符

格式化字符日期/时间说明值范围和实例
%Y年份0000~-9999,例如:1900
%m月份01~-12,例如:10
%B月份名称January-December,例如: Apr
%b月份名称缩写Jan~Dec,例如:Apr
%d日期01~31,例如:25
%A星期Monday~ Sunday,例如: Wednesday
%a星期缩写Mon~Sun,例:Wed
%H小时(24h制)00~23,例如:12
%h小时(12h制)01-12,例:7
%p上/下午AM.PM,例:PM
%M分钟00-59,例如:26
%S00-59,例如:26

程序计时

  • 程计时指测量起止动作所经历时问的过程
  • 测量时问: perf_counter()
  • 产生时问: sleep()
函数描述
perf_counter()返回一个CPU级别的精确时间计数值。单位为秒
由于这个计数值起点不确定,连续调用差值才有意义
>>>start=time. perf_counter()
318.66599499718114
>>end = time. perf counter()
341,3985185375658
>>>end-start
22.724523548384666
sleep(s)s拟休眠的时间,单位是秒,可以是浮点数
>>>def wait():
time.sleep(3. 3)
>>>wait()

datetime库的使用

datetime模块中包含如下类:

类名功能说明
date日期对象,常用的属性有year, month, day
time时间对象
datetime日期时间对象,常用的属性有hour, minute, second, microsecond
datetime_CAPI日期时间对象C语言接口
timedelta时间间隔,即两个时间点之间的长度
tzinfo时区信息对象

datetime模块中包含的常量

常量功能说明用法返回值
MAXYEAR返回能表示的最大年份datetime.MAXYEAR9999
MINYEAR返回能表示的最小年份datetime.MINYEAR1

Calendar模块

  • calendar模块提供与日历相关的功能,包括为给定的月份或年份打印文本日历的功能。
  • 默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一天。如果想要更改这个,可调用calendar.setfirstweekday()函数设置修改。
  • 以下是calendar模块可用的功能函数列表
函数描述
Calendar(year,w = 2,l = 1,c = 6)返回一个具有年份日历的多行字符串格式化为三列,以c个空格分隔。 w是每个日期的字符宽度;每行的长度为21 * w + 18 + 2 * c,l是每周的行数
firstweekday( )返回当前设置每周开始的星期。默认情况下,当日历首次导入时设置为:0,表示为星期一。
isleap(year)如果给定年份(year)是闰年则返回True;否则返回:False。
leapdays(y1,y2)返回在范围(y1,y2)内的年份中的闰年总数。
Month(year,month,w=2,l =1)返回一个多行字符串,其中包含年份月份的日历,每周一行和两个标题行。 w是每个日期的字符宽度;每行的长度为7 * w + 6。 l是每周的行数。
Monthcalendar(year,month)返回int类型的列表。每个子列表表示一个星期。年份月份以外的天数设置为0;该月内的日期设定为月份的第几日:1 ~ 31。
Monthrange(year,month)返回两个整数。第一个是年度月(month)的星期几的代码;第二个是当月的天数。表示星期几为0(星期一)至6(星期日);月份是1到12。
Prcal(year,w = 2,l = 1,c = 6)类似于:calendar.calendar(year,w,l,c)的打印。
Prmonth(year,month,w = 2,l = 1)类似于:calendar.month(year,month,w,l)的打印。
setfirstweekday(weekday)将每周的第一天设置为星期几的代码。星期几的代码为0(星期一)至6(星期日)。
timegm(tupletime)time.gmtime的倒数:以时间元组的形式接受时刻,并返回与从时代(epoch)开始的浮点数相同的时刻。
weekday(year,month,day)返回给定日期的星期几的代码。星期几的代码为0(星期一)至6(星期日);月数是1(1月)到12(12月)。

random库的使用

random库是使用随机数的Python标准库

从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件我们没有理解,或者超出了我们的理解范围。计算机不能产生真正的随机数,那么伪随机数也就被称为随机数

  1. 伪随机数:计算机中通过采用梅森旋转算法生成的(伪)随机序列元素
  2. python中用于生成伪随机数的函数库是random
  3. 因为是标准库,使用时候只需要import random

random库包含两类函数,常用的共8个

    --基本随机函数: seed(), random()

    --扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

基本随机函数

函数描述
seed(a=None)初始化给定的随机数种子,默认为当前系统时间
>>>random.seed(10) #产生种子10对应的序列
random()生成一个[0.0,1.0)之间的随机小数
>>>random.random()
0.5714025946899135
#随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

函数描述
randint(a,b)生成一个[a,b]之间的整数
randrange(m,n[,k])生成一个[m,n)之间以k为步长的随机整数
>>>random.randrange(10,100,10)
getrandbits(k)生成一个k比特长的随机整数
>>>random.getrandbits(16)
37885
uniform(a,b)生成一个[a,b]之间的随机小数
>>>random.uniform(10,100)
16.848041210321334
choice(seq)从序列中随机选择一个元素
>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])
8
shuffle(seq)将序列seq中元素随机排列,返回打乱后的序列
>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>random.shuffle(s
>>> print(s)
[9, 4, 6, 3, 5, 2, 8, 7, 1]

函数产生随机数

  • –能够产生随机整数
  • –能对序列类型进行随机操作
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值