1.标准库
1.认识标准库
在Python官方文档 上可以看到这些库的内容 简单来说,主要包含 :
内置函数 (如 print, input 等) 内置类型 (针对 int, str, bool, list, dict 等类型内置的操作) 文本处理 时间日期 数学计算 文件目录 数据存储(操作数据库,数据序列化等) 加密解密 操作系统相关 并发编程相关(多进程,多线程,协程,异步等) 网络编程相关 多媒体相关(音频处理,视频处理等) 图形化界面相关 ……
2.使用import导入模块
2.代码示例
1.日期计算
输入任意的两个日期,计算两个日期之间隔了多少天
使用import
语句导入标准库的datetime
模块 使用datetime.datetime
构造两个日期,参数使用年, 月, 日 这样的格式 两个日期对象相减,即可得到日期的差值import datetime
date1 = datetime. datetime( 2024 , 5 , 2 )
date2 = datetime. datetime( 2024 , 3 , 30 )
print ( date1 - date2)
关于datetime
的更多操作,可以参考官方文档
2.字符串操作
字符串是Python的内置类型,字符串的很多方法不需要导入额外的模块,即可直接使用 字符串的更多操作,可以参考官方文档
1.翻转单词顺序
2.旋转字符串
3.统计是给定字符串前缀的字符串数目
题目链接 操作步骤 :
依次遍历words
中的字符串 直接使用字符串的startswith()
即可判定当前字符串是否是s
的前缀def CountPrefixes ( words, s) :
res = 0
for word in words:
if s. startswith( word) :
res += 1
return res
print ( countPrefixes( [ "a" , "b" , "c" , "ab" , "bc" , "abc" ] , "abc" ) )
3.文件查找工具
指定一个待搜索路径,同时指定一个待搜索的关键字 在待搜索路径中查找是否文件名中包含这个关键字
os
模块的更多操作,参考官方文档
3.第三方库
1.使用 pip
pip
是Python内置的包管理器
Python官方提供了一个网站PyPI ,来收集第三方库 安装第三方库 :pip install [库名]
安装成功后,即可使用import
导入相关模块,即可进行使用 注意 :
如果使用pip
安装完第三方库之后,在PyCharm中仍然提示找不到对应的模块,则检查Settings -> Project -> Python Interpreter
,看当前Python解释器设置的是否正确 如果一个机器上安装了多个版本的Python,容易出现这种情况
2.示例:生成二维码
3.示例:操作Excel
读取Excel可以使用xlrd
模块,文档地址 修改Excel可以使用xlwt
模块,文档地址 下面以xlrd
为例 安装pip install xlrd==1.2.0
编写代码
使用open_workbook()
打开一个Excel文件 使用xlsx.sheet_by_index(0)
获取到0
号标签页 使用table.nrows()
获取到表格的行数 使用table.cell_value(row, col)
获取到表格中row, col
位置的元素值import xlrd
xlsx = xlrd. open_workbook( 'D:/test.xlsx' )
table = xlsx. sheet_by_index( 0 )
nrows = table. nrows
count = 0
total = 0
for i in range ( 1 , nrows) :
classId = table. cell_value( i, 1 )
if classId == 100 :
total += table. cell_value( i, 2 )
count += 1
print ( f'平均分: { total / count} ' )
4.示例:程序员鼓励师
功能 :监听键盘按键,每按键20下,就自动播放一个音频,鼓励一下辛苦搬砖的自己安装第三方依赖
准备音频文件 ,放到和.py
代码同级目录中编写代码
改进代码 :上述代码在执行过程中,会感觉到播放音频会导致按键卡顿,可以使用多线程解决这个问题
使用threading.Thread
引入多线程类 使用Thread
的构造函数来构造一个线程
target
表示线程要执行的任务args
表示target
中要调用函数的参数 使用Thread.start()
启动线程
from pynput import keyboard
from playsound import playsound
from threading import Thread
count = 0
def OnRelease ( key) :
print ( key)
global count
count += 1
if count % 10 == 0 :
t = Thread( target= playsound, args= ( 'ding.mp3' , ) )
t. start( )
listener = keyboard. Listener( on_release= OnRelease)
listener. start( )
listener. join( )