python基础语法(十三)

简介: python基础语法(十三)

第三方库

认识第三方库

第三方库就是别人已经实现好了的库, 我们可以拿过来直接使用.

虽然标准库已经很强大了, 但是终究是有限的. 而第三方库可以视为是集合了全世界Python程序猿的智慧

问题来了, 当我们遇到一个需求场景的时候, 如何知道, 该使用哪个第三方库呢?

就需要用到下面几个网站了

当我们确定了该使用哪个第三方库之后, 就可以使用pip来安装第三方库了

使用pip

pip是Python内置的包管理器

所谓包管理器就类似于我们平时使用的手机app应用商店一样.

第三方库有很多, 是不同的人, 不同的组织实现的. 为了方便大家整理, Python 官方提供了一个网站PyPI来手机第三方库

其他大佬写好的第三方库也会申请上传到PyPI上.这个时候就可以方便的使用 pip 工具来下载PyPI上的库了.

pip在我们安装Python的时候就已经内置了. 无需额外安装.

pip是一个可执行程序, 就在Python的安装目录中

打开cmd, 直接输入pip. 如果显示以下帮助信息, 说明pip已经准备就绪

如果最开始按照要求在安装Python的时候勾选了,那么pip就是默认可用的

如果提示

'pip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

则说明没有正确的把pip加入到PATH中, 可以手动把pip所在的路径加入到 PATH 环境变量中可参考这篇文章(或者卸载重装Python, 记得勾上上述选项, 也许是更简单的办法)

使用以下命令, 即可安装第三方库

pip install [库名]

注意: 这个命令需要从网络上下载, 使用时要保证网络畅通.

安装成功后, 即可使用import导入相关模块, 即可进行使用

注意: 如果使用pip安装完第三方库之后, 在PyCharm中仍然提示找不到对应的模块, 则检查Settings ->Project ->Python Interpreter

看当前Python解释器设置的是否正确. (如果一个机器上安装了多个版本的 Python, 容易出现这种情况)

代码示例: 生成二维码

通过搜索引擎, 确定使用哪个库

搜索可以知道我们需要使用qrcode这个库, 可以用来生成二维码

查看qrcode文档

在PyPI上搜索qrcode==>点击则进入qrcode的详情页==>文档开头描述了如何安装 qrcode==>页面中央位置描述了qrcode库的使用方法

使用pip安装

pip install qrcode[pil]

注意: pip安装的时候可能会有警告, 提示使用的pip版本太低. 这个警告我们不必处理, 不影响我们正常使用

编写代码

按照文档给出的示例, 模仿一段代码

import qrcode
img = qrcode.make('汤老湿真帅')
img.save('qrcode.png')

运行完毕就可以得到一个二维码,使用微信或者其他工具扫码就可以看到里面的内容

所谓二维码, 本质上就是使用黑白点阵表示一个字符串.

我们日常使用的二维码内部一般是一个 URL, 扫码后会自动跳转到对应的地址, 从而打开一个网页

代码示例: 操作exce

读取excel可以使用xlrd模块

修改excel可以使用xlrd模块

此处以xlrd为例, 演示excel的基本操作

需求有如下excel表格 d:/test.xlsx

求100班的同学的平均分

虽然excel自身支持很强大的功能, 也可以求和, 求平均值. 但是如果是稍微复杂的需求, 操作起来可能就没那么方便了

安装 xlrd
pip install xlrd==1.2.0

注意: 此处要指定版本号安装. 如果不指定版本号, 则安装最新版. 最新版里删除了对 xlsx 格式文件的支持

编写代码

使用 open_workbook 方法打开一个excel文件.

使用 xlsx.sheet_by_index(0) 获取到0号标签页.

使用 table.nrows 获取到表格的行数.

使用 table.cell_value(row, col) 获取到表格中 row, col 位置的元素值

import xlrd
# 1. 打开 xlsx 文件
xlsx = xlrd.open_workbook('d:/test.xlsx')
# 2. 获取 0 号标签页. (当前只有一个标签页)
table = xlsx.sheet_by_index(0)
# 3. 获取总行数
nrows = table.nrows
# 4. 遍历数据
count = 0
total = 0
for i in range(1, nrows):
  # 使用 cell_value(row, col) 获取到指定坐标单元格的值.
  classId = table.cell_value(i, 1)
  if classId == 101:
    total += table.cell_value(i, 2)
    count += 1
print(f'平均分: {total / count}')

代码示例: “程序猿鼓励师”

监听键盘按键, 每按键20下, 就自动播放一个音频, 鼓励一下辛苦搬砖的自己

安装第三方依赖

pynput 用于监听键盘按键. 注意版本不要用最新.

playsound 用于播放音频

pip install pynput==1.6.8
pip install playsound==1.2.2

准备音频文件

此处准备了一个 ding.mp3 放到和 py 代码同级目录中

编写代码

使用 from import 的格式直接导入模块中的指定对象/函数.

使用 keyboard.Listener 监听键盘按键. 其中 on_release 会在释放按键时被调用.

使用 listener.start 启动监听器. 为了防止程序直接退出, 使用 listener.join 让程序等待用户按键.

使用 count 计数, 每隔 10 次, 调用 playsound 播放音频文件.

from pynput import keyboard
from playsound import playsound
count = 0
def on_release(key):
  print(key)
  global count
  count += 1
  if count % 10 == 0:
    playsound('ding.mp3')
listener = keyboard.Listener(
    on_release=on_release)
listener.start()
listener.join()

改进代码

上述代码在执行过程中, 会感觉到播放音频会导致按键卡顿. 可以使用多线程解决这个问题.

使用 threading.Thread 引入多线程类.

使用 Thread 的构造函数来构造一个线程. target 表示线程要执行的任务, args 表示 target中要调用函数的参数.

使用 Thread.start() 启动线程

from pynput import keyboard
from playsound import playsound
from threading import Thread
count = 0
def on_release(key):
  print(key)
  global count
  count += 1
  if count % 10 == 0:
    t = Thread(target=playsound, args=('ding.mp3',))
    t.start()
    #playsound('ding.mp3')
listener = keyboard.Listener(
    on_release=on_release)
listener.start()
listener.join()
目录
相关文章
|
2月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
77 4
|
29天前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
37 7
|
4月前
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
28天前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
56 5
|
1月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
32 1
|
1月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
24 2
|
2月前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
2月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
83 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
2月前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
60 1