【Python爬虫与数据分析】时间、日期、随机数标准库

目录

一、模块化概述

二、time库

1. 时间获取

2. 时间格式化

3. 程序计时

三、datetime库

1. datetime.datetime类

2. datetime.timedelta类

四、random库

1. 基本随机函数

2. 扩展随机函数

3. 随机时间的生成


一、模块化概述

Python程序由模块组成,一个模块对应一个 .py 源文件。

模块分为标准库模块自定义模块(第三方库),函数也分标准库函数和自定义函数。

Python标准库提供了操作系统、网络通信、文件处理、数学运算等基本功能。如:random(随机数)、math(数学运算)、time(时间处理)、file(文件处理)、os(和操作系统交互)、sys(和解释器交互)等。

模块化编程将一个任务分解成多个模块,简化开发过程、实现代码复用、增强可维护性。 

我们可以通过help(模块名)查看模块的API。一般使用时先导入模块然后通过help函数查看。
【示例】导入math 模块,并通过help()查看math 模块的API:

import math
help(math)

二、time库

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

time库常用函数

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

1. 时间获取

  • time():获取当前的时间戳,返回浮点型
  • ctime():获取当前时间,返回字符串
  • gmtime():获取当前时间,返回struct_time结构体

2. 时间格式化

时间格式化将时间以特定的字符串格式展示出来,展示模板由特定的格式化控制符组成。

  • %Y:年份
  • %m:月份,%B:月份名称,%b:月份名称缩写
  • %d:日期
  • %A:星期,%a:星期简写
  • %H:24h制小时,%I:12h制小时
  • %M:分钟
  • %S:秒钟

strftime(tpl, ts):tpl是格式化模板字符串,用来定义输出效果。ts是tuple类型的计算机内部时间变量,即gmtime()输出的struct_time结构体。tpl是template的缩写。

strptime(timeStr, tpl):将一个时间字符串变成计算机内部可以操作的struct_time()。

3. 程序计时

sleep(s):休眠时间函数,参数s是浮点型的秒数,可以是小数。

perf_counter():返回一个精确的CPU级别的精确时间计数值,单位是秒。通过连续调用计算差值表示程序运行时间。

三、datetime库

datetime库用于处理日期和时间的功能。可以进行日期时间的转换、格式化输出、计算等操作。该库包含了多个类,如datetime、timedelta等,可以根据不同的需求进行选择。

  • datetime.datetime:日期和时间的表示
  • datetime.timedelta:计算时间间隔

1. datetime.datetime类

datetime.datetime类的使用方式:先创建一个时间对象,再通过对象的方法和属性显示时间。

  • datetime.datetime.now():获得当前的日期和时间对象
  • datetime.datetime.utcnow():获得当前的日期和时间对象对应的UTC(世界标准)时间对象
  • datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0):通过参数构造一个时间对象
  • dt_object.isoformat():按照 ISO 8601 标准显示时间
  • dt_object.strftime(tpl):按照格式化字符串控制显示时间
  • datetime.datetime.strptime(dt_str, tpl):按照标准格式将字符串转换为时间结构体变量

2. datetime.timedelta类

 

四、random库

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

1. 基本随机函数

  • send():初始化随机种子,使得随机数可复用
  • random():生成一个[0.0, 1.0]之间的随机小数

2. 扩展随机函数

  • randint(a, b):生成一个[a, b]之间的随机整数
  • getrandbits(k):生成一个k比特位长的随机整数
  • uniform(a, b):生成一个[a, b]之间的随机小数
  • choice(seq):从序列seq中随机选择一个元素
  • shuffle(seq):将序列seq的元素打乱随机排序

3. 随机时间的生成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15463.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql中默认自动事务autocommit关闭和开启方式、rollback回滚恢复数据的使用方法

文章目录 autocommit自动提交事物一、查看autocommit状态二、修改autocommit 状态的方式1、第一种方式2、修改mysql配置文件my.cnf 二、rollback回滚1、autocommit 开启1、autocommit 关闭 autocommit自动提交事物 MySQL 默认开启事务自动提交模式,每条 SOL 语句都…

超详细 | 遗传-粒子群自适应优化算法及其实现(Matlab)

作者在前面的文章中介绍了两种经典的优化算法——遗传算法(GA)和粒子群算法(PSO),这些智能优化算法解决问题的方式和角度各不相同,都有各自的适用域和局限性,对智能优化算法自身做的改进在算法性能方面得到了一定程度的提升,但算法…

AI PPT 一句话搞定PPT讲演搞

相信大家在职场中,一定会接触过写PPT,经常会把你搞得焦头烂额。在大部分的公司里,写PPT汇报又是不可能逃避的事情。但随着AI时代的到来,有很多AI帮你写PPT的工具也逐渐崭露头角,可以自动帮助你制作出华丽的PPT&#xf…

【H5】文件下载(javascript)

系列文章 【移动设备】iData 50P 技术规格 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【H5】avalon前端数据双向绑定 本文链接:https://blog.csdn.net/youcheng_ge/article/details/131067187 【H5】安卓自动更新方案&a…

c++查漏补缺

c语言的struct只能包含变量,而c中的class除了包含变量,还可以包含函数。 通过结构体定义出来的变量还是变量,而通过类定义出来有了新的名称,叫做对象。C语言中,会将重复使用或具有某项功能的代码封装成一个函数&#x…

IP数据云揭示高风险IP的来源地

在全球网络安全日临近之际,IP数据云揭示高风险IP的来源地。这些高风险IP以其潜在威胁和犯罪活动而闻名,已引起了全球范围内的关注。 根据IP数据云介绍,高风险IP的主要来源地是位于亚洲和东欧的国家其中包括俄罗斯、朝鲜和乌克兰等地。这些地区…

基于matlab使用深度学习进行图像类别分类(附源码)

一、前言 此示例演示如何使用预训练卷积神经网络 (CNN) 作为特征提取器来训练图像类别分类器。 卷积神经网络 (CNN) 是深度学习领域的一种强大的机器学习技术。CNN使用大量不同图像进行训练。从这些大型集合中,CNN可…

QT自定义工具条渐变背景颜色一例

使用样式定义: QWidget* toolbar new QWidget(this);toolbar->setObjectName("main_tool");toolbar->setStyleSheet("#main_tool{background: qlineargradient(x1:0 , y1:0 , x2:1 , y2:0,""stop:0 rgba(0,255,0, 0.2),"&q…

5道Mysql面试题

1.什么Mysql的事务?事务的四大特性? Mysql中事务的隔离级别分为四大等级:读未提交(READ UNCOMMITTED)、读提交 (READ COMMITTED)、可重复读 (REPEATABLE READ)、串行化 …

多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量…

【开放麒麟】VMware + openKylin 尝鲜“开放麒麟1.0”

7月5日,我国首个开源桌面操作系统“开放麒麟1.0”正式发布,标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力,填补了我国在这一领域的空白。 本期分享通过虚拟机 Vmware 安装 openKylin 操作系统的方式,来尝鲜一下…

【码银送书第二期】《高并发架构实战:从需求分析到系统设计》

很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设计经验呢? 一方面可以通过工作来学习,观察所在团队的架构师是如何…