写给Python社群的第7课:用 Python 模块了不起呀?就是了不起
⛳️ Python 模块
Python 模块也叫做 Python 库,有环境内置的,也有第三方开发的,在 Python 任何一个项目中,都会用到大量的模块,本篇博客从自带标准库开始,带大家逐步进入模块世界。
Python 标准库知识
Python 标准库为程序员提供了大量的函数和功能,是 Python 的核心功能之一,当安装 Python 之后,系统已经将标准库进行了内置,便于后续直接使用。
标准库中内置对象有如下分类。
内置函数
;内置常量
;内置类型
;内置异常
。
今天的学习也会围绕上述分类中的部分子条目展开。
⛳️ datetime 模块
datetime 模块,日期时间模块,在 Python 中出场率极高,所以我们直接从该模块开始学习。
请先记住模块的学习流程。
- 模块用前先导入;
- 找准模块对象的属性和方法;
- 牢记参数和返回值;
- 实战编码。
任何一款模块的学习,都遵循上述步骤,接下来看一下 datetime 吧,注意 datetime 是模块名,所以在导入的时候需要指定其内部对象。
from datetime import datetime,date,time
print(datetime.now())
上述程序会输出当前日期和时间,你是否发现在导入模块的时候,我们导入了 datetime
模块中的三个类名,分别是 datetime
,date
,time
,对应日期时间,日期,时间。为何如此导入的原因,可以直接翻阅内置库代码,即 datetime.py
文件,打开之后发现其内部包含几个类,分别是 datetime
,timedelta
,date
,tzinfo
,time
,timezone
,即这几个类都可以被导入到其它文件中使用。
🔥 datetime 对象常见的实例方法
datetime
对象包含 date
和 time
对象的所有功能,算是一个总集,常见的对象方法如下:
datetime.now()
:获取当下的日期和时间;datetime.date(t)
:获取当天日期,参数t
为datetime
实例参数;datetime.time(t)
:获取当天时间,参数t
同上;datetime.ctime(t)
:获取格式化之后的日期时间字符串;datetime.timestamp(t)
:获取指定时间的时间戳;datetime.fromtimestampt(t_tamp)
:把时间戳转换为日期时间字符串;datetime.strptime(dt_str,sf)
:按照sf
样式格式化字符串;
除了上述清单方法外,datetime
对象还存在其它属性和方法,但我们要学习的主要是方法,这部分内容无法死记硬背,建议是每一个方法都在代码实践中进行尝试。
from datetime import datetime,date,time
# 获取当下时间
print(datetime.now())
# 存储一个临时变量
now = datetime.now()
# 获取传入 datetime 对象的日期部分
print(datetime.date(now))
# 获取传入 datetime 对象的时间部分
print(datetime.time(now))
# 获取传入 datetime 对象的字符串格式数据
print(datetime.ctime(now))
# 获取传入 datetime 对象转换的时间戳
print(datetime.timestamp(now))
以上代码都是正向用法,在项目实战中,会碰到如下几个场景,分别给大家展示。
📈 获取时间戳,保留到秒
from datetime import datetime,date,time
now = datetime.now()
print(int(datetime.timestamp(now)))
📈 保留时间戳到毫秒
from datetime import datetime,date,time
now = datetime.now()
print(int(datetime.timestamp(now)*1000))
📈 把当前时间按照年月日排列,即中文展示
from datetime import datetime,date,time
now = datetime.now()
print(now.strftime('%Y年%m月%d日'))
📈 把时间戳转换为日期时间
from datetime import datetime,date,time
now = 1667447170
print(datetime.fromtimestamp(now))
📈 根据数字生成日期和时间
from datetime import datetime,date,time
print(date(2022,10,10))
print(time(20,30,40))
在上面的代码中出现了 %Y
,%m
,%d
等占位符,它们都是日期格式化符号,其含义如下所示。
%Y
:四位数年份;%y
:两位数年份;%m
:月份;%d
:日子;%H
:24 小时计时法中的小时;%I
:12 小时计时法中的小时;%M
:分钟;%S
:秒;%a
:本地简化星期;%A
:本地完整星期;%b
:本地简化月份;%B
:本地完整月份;%c
:本地日期和时间;%j
:表示年内的第几天;%p
:AM 或者 PM,本地化展示;%U
:星期数;%w
:星期几。
如果希望彻底掌握一个模块,实战中多用多查即可,检索关键字 Python + datetime
。
⛳️ time 模块
time
模块是将时间相关的函数进行了一次封装,其对象常用的方法如下:
time.sleep()
:程序挂起秒数;time.perf_counter()
:返回当前 CPU 时间;time.strftime(str_f)
:将带有时间格式的字符串解析为时间;time.time()
:返回时间戳。
上述方法都很常见,所以大家可以自由进行练习,尤其是其中的 time.perf_counter()
在优化函数算法效率时,经常碰到。
⛳️ random 模块
随机数模块 random
,在 Python 中出场率也非常高,其对象常用方法如下。
random.random()
:产生一个大于 0 小于 1 的随机浮点数;random.uniform(a,b)
:在指定范围内生产随机浮点数;random.randint(a, b)
:产生一个随机整数;random.randrange([start], stop[, step])
:从指定范围内,按指定基数递增的集合中获取一个随机数;random.choice(sep)
:从序列中返回一个随机元素;random.shuffle(x[, random])
:打乱序列;
随机数最常见的需求与代码示例如下。
📈 随机生成一个 1~10 之间的数字,用于游戏
示例 1
import random
print(int(random.uniform(1,10)))
示例 2
import random
print(random.randint(1,10))
📈 返回列表中的任意元素
import random
my_list = [1,2,3,4,5,6]
print(random.choice(my_list))
⛳️ sys 和 os 模块
📈 sys 模块
sys 模块提供了与 Python 解析器相关的变量和函数,常见的属性和函数如下所示。
sys.path
:获取环境变量配置;sys.platform
:获取操作系统标识;sys.getwindowsversion()
:获取 windows 版本信息。
import sys
print(sys.path)
print(sys.platform)
sys.getwindowsversion()
📈 os 模块
os
模块是 Python 中操作文件的模块,对象常用方法如下。
os.getcwd()
:获取当前工作目录;os.listdir(path)
:罗列传入路径文件和目录;os.walk(path)
:深层次遍历指定路径下的所有子文件夹;os.path.exists(path)
:检测目录是否存在;os.mkdir(path)
:创建目录;os.makedirs(path)
:创建目录,包含其子目录;os.rmdir(path)
:删除非空目录;os.path.split(path)
:拆分目录和文件名;os.path.dirname(path)
:返回文件的绝对路径;os.path.basename(path)
:获取文件名;os.path.isdir(path)
:判断是否为目录/文件夹;os.path.isfile(path)
:判断是否为文件;os.path.getsize(path)
:获取文件大小;os.system(cmd)
:执行控制台命令。
os
模块还有更多用法,这些都需要你在实战中不断夯实与积累,当然对拥有搜索引擎的我们来说,这都不是事。
📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 745 篇原创博客
- 点赞
- 收藏
- 关注作者
评论(0)