Python库的使用
Posted 2021dragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python库的使用相关的知识,希望对你有一定的参考价值。
文章目录
库的使用
什么是库
库就是别人已经写好了的代码,我们可以直接拿来用。
- 一个编程语言能否流行起来,一方面取决于其语法是否简单方便容易学习,另一方面取决于其生态是否完备。所谓的生态就是指,该语言是否有足够丰富的库来应对各种编程场景。
- 在编程过程中并发所有代码都需要自己写,而是要充分利用现成的库来简化开发过程,因此如果一个语言有足够丰富的库,就能够降低程序员的学习成本,提高程序的开发效率。
库的分类
按照库的来源不同,可以将库大致分为两类:
- 标准库: Python自带的库,只要安装了Python就可以直接使用。
- 第三方库: 其他人实现的库,要想使用,需要额外进行安装。
标准库
认识标准库
Python自身内置了非常丰富的库,主要有以下部分:
- 内置函数(如print,input等)。
- 内置类型的操作(如int,st,list,dict等内置类型的操作)。
- 文本处理。
- 时间日期。
- 数学计算。
- 文件目录。
- 数据存储(如操作数据库,数据序列化等)。
- 加密解密。
- 操作系统相关。
- 并发编程相关(如多进程,多线程,协程等)。
- 网络编程相关。
- 多媒体相关(如音频处理,视频处理等)。
- 图形化界面相关。
- …
当需要使用这些库时,可以在Python的官方文档上进行查找:https://docs.python.org/3.10/library/index.html
import导入模块
导入模块
通过import 模块名
的方式可以导入对应的模块,导入模块后以模块名.xxx
的方式就可以使用模块中的变量或函数。比如:
import os
os.remove('test.txt')
说明一下:
- 模块其实就是一个单独的
xxx.py
文件,使用import语句可以将外部的xxx.py
文件导入到当前文件中,并执行其中的代码。 - os模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录,代码中remove函数的作用就是删除指定文件。
查看模块
使用dir函数可以获取指定模块中的所有变量名和函数名。比如:
import os
names = dir(os)
for name in names:
print(name)
运行结果如下:
说明一下:
- dir函数会以列表的方式返回指定模块中的变量名和函数名。
- dir函数可用于所有模块,包括我们自己创建的模块。
重命名模块
通过import 模块名 as 别名
的方式可以为导入的模块创建别名。比如:
import os as alias
alias.remove('test.txt')
注意: 如果对导入模块进行了重命名,那么后续在使用模块时就必须使用别名对模块进行访问。
从模块导入
通过from 模块名 import 部件
的方式可以仅从模块中导入指定部件。比如:
from os import remove
remove('test.txt')
注意: 在使用from关键字导入的部件时,不能以模块名.xxx
的方式使用,而是直接使用。
使用示例:日期差计算
计算任意两个日期之间隔了多少天
解题步骤:
- 使用import语句导入标准库的datetime模块。
- 使用datetime模块中的datetime类构造两个日期对象。
- 两个日期对象相减,即可得到日期的差值。
代码如下:
import datetime
date1 = datetime.datetime(2021, 1, 10)
date2 = datetime.datetime(2022, 10, 30)
print(date2 - date1) # 658 days, 0:00:00
关于datetime的更多操作,可以参考官方文档:https://docs.python.org/3/library/datetime.html
使用示例:字符串操作
字符串是Python的内置类型,字符串的很多方法都不需要导入额外的模块,即可直接使用。
1)翻转单词顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student",则输出"student. a am I"。
解题步骤:
- 使用字符串的split方法对字符串进行切分,指定空格为分隔符,返回结果是一个列表。
- 使用列表的reverse方法对列表内元素进行逆序。
- 使用字符串的join方法对字符串进行拼接,把列表中的内容进行合并。
代码如下:
def reverseWords(s: str):
tokens = s.split(' ') # 切分字符串
tokens.reverse() # 逆序列表
return ' '.join(tokens) # 拼接字符串
2)旋转字符串
给定两个字符串,s和goal。如果在若干次旋转操作之后,s能变成goal,那么返回true。s的旋转操作就是将s最左边的字符移动到最右边。例如,若s = ‘abcde’,在旋转一次之后结果就是’bcdea’。
解题步骤:
- 使用len函数求两个字符串的长度,如果长度不相同,则一定不能旋转得到。
- 将s和自己进行拼接,然后直接使用in方法来判定goal是否是s+s的子串。
代码如下:
def rotateString(s, goal):
if len(s) != len(goal):
return False
return goal in (s + s)
3)统计是给定字符串前缀的字符串数目
给你一个字符串数组words和一个字符串s,其中words[i]和s只包含小写英文字母。 请你返回words中是字符串s前缀的字符串数目。一个字符串的前缀是出现在字符串开头的子字符串。子字符串是一个字符串中的连续一段字符序列。
解题步骤:
- 依次遍历words中的字符串。
- 使用字符串的startswith方法判定当前字符串是否是s的前缀。
代码如下:
def countPrefixes(words: list, s: str):
count = 0
for word in words:
if s.startswith(word):
count += 1
return count
关于字符串的更多操作,可以参考官方文档:https://docs.python.org/3/library/stdtypes.html#str
第三方库
认识第三方库
- 虽然Python自身已经内置了非常丰富的库,但标准库终究是有限的,而第三方库集合了全世界Python程序员的智慧,可以说是无穷无尽。
- 其次,我们也可以将自己的代码作为第三方库发布出去,以供其他人使用。
问题来了,当我们遇到一个需求场景的时候,如何知道,该使用哪个第三方库呢?
就需要用到下面几个网站了:
当我们确定了该使用哪个第三方库之后,就可以使用pip来安装第三方库了。
包管理器pip
pip介绍
pip是一个通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。
- 全世界所有程序员都可以发布第三方库,Python官方为了方便大家使用,于是提供了PyPI网站来收集这些第三方库,程序员写好的第三方库都会申请上传到PyPI上。
- pip是一个可执行程序,在安装Python的时候就已经内置了,无需额外安装。
pip使用
打开终端输入pip,如果显示以下帮助信息,则说明pip已经准备就绪。
如果提示'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件
,则说明在安装Python的时候没有正确的将pip添加到PATH环境变量中,此时的解决方法有两种:
- 手动将pip所在的路径添加到PATH环境变量中。
- 卸载重装Python,在重装时记得勾选添加环境变量的选项。
当pip就绪后,通过以下命令即可安装对应的第三方库:
pip install [库名]
注意:
- pip命令需要从网络上进行下载,使用时需要保证网络畅通,安装成功后即可使用import导入对应的模块进行使用。
- 如果使用pip安装完第三方库后,在PyCharm中仍然提示找不到对应的模块,则依次点击
File->Settings->Project->Project Interpreter
,查看Python解释器设置是否正确。(如果一个机器上安装了多个版本的Python,就容易出现这种情况)
使用示例:生成二维码
1、通过搜索引擎,确定需要使用的库
2、查看qrcode文档
Python官方将第三方库都收集到了PyPI网站,因此我们可以在PyPI上直接搜索qrcode。
搜索后进入qrcode的详情页,在文档开头就描述了应该如何安装qrcode库。
在文档中还描述了qrcode库的使用方法。
3、使用pip安装
在得知如何安装qrcode后,直接使用pip命令进行安装即可。
pip install qrcode[pil]
注意: 安装时可能会警告提示pip版本太低,这个我们不必处理,不影响我们正常使用。
4、编写代码
安装qrcode库后,模仿文档中的示例代码来编写代码即可。比如:
import qrcode
img = qrcode.make('越努力越幸运')
img.save('qrcode.png')
运行程序后,在当前目录下就会生成一个名为qrcode.png的二维码图片。如下:
这时使用微信或者其他工具扫码,即可看到二维码当中的内容。
说明一下:二维码本质就是用黑白点阵来表示一个字符串,如果表示的字符串是一个URL,那么扫码后就会直接跳转到对应的地址,从而打开一个网页。
以上是关于Python库的使用的主要内容,如果未能解决你的问题,请参考以下文章