Python库的使用

文章目录

  • 库的使用
    • 标准库
      • 认识标准库
      • import导入模块
      • 使用示例:日期差计算
      • 使用示例:字符串操作
        • 1)翻转单词顺序
        • 2)旋转字符串
        • 3)统计是给定字符串前缀的字符串数目
    • 第三方库
      • 认识第三方库
      • 包管理器pip
      • 使用示例:生成二维码

库的使用

什么是库

库就是别人已经写好了的代码,我们可以直接拿来用。

  • 一个编程语言能否流行起来,一方面取决于其语法是否简单方便容易学习,另一方面取决于其生态是否完备。所谓的生态就是指,该语言是否有足够丰富的库来应对各种编程场景。
  • 在编程过程中并发所有代码都需要自己写,而是要充分利用现成的库来简化开发过程,因此如果一个语言有足够丰富的库,就能够降低程序员的学习成本,提高程序的开发效率。

库的分类

按照库的来源不同,可以将库大致分为两类:

  • 标准库: 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)

运行结果如下:

Python库的使用_第1张图片

说明一下:

  • dir函数会以列表的方式返回指定模块中的变量名和函数名。
  • dir函数可用于所有模块,包括我们自己创建的模块。

重命名模块

通过import 模块名 as 别名的方式可以为导入的模块创建别名。比如:

import os as alias

alias.remove('test.txt')

注意: 如果对导入模块进行了重命名,那么后续在使用模块时就必须使用别名对模块进行访问。

从模块导入

通过from 模块名 import 部件的方式可以仅从模块中导入指定部件。比如:

from os import remove

remove('test.txt')

注意: 在使用from关键字导入的部件时,不能以模块名.xxx的方式使用,而是直接使用。

使用示例:日期差计算

计算任意两个日期之间隔了多少天

解题步骤:

  1. 使用import语句导入标准库的datetime模块。
  2. 使用datetime模块中的datetime类构造两个日期对象。
  3. 两个日期对象相减,即可得到日期的差值。

代码如下:

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"。

解题步骤:

  1. 使用字符串的split方法对字符串进行切分,指定空格为分隔符,返回结果是一个列表。
  2. 使用列表的reverse方法对列表内元素进行逆序。
  3. 使用字符串的join方法对字符串进行拼接,把列表中的内容进行合并。

代码如下:

def reverseWords(s: str):
    tokens = s.split(' ')    # 切分字符串
    tokens.reverse()         # 逆序列表
    return ' '.join(tokens)  # 拼接字符串

2)旋转字符串

  给定两个字符串,s和goal。如果在若干次旋转操作之后,s能变成goal,那么返回true。s的旋转操作就是将s最左边的字符移动到最右边。例如,若s = ‘abcde’,在旋转一次之后结果就是’bcdea’。

解题步骤:

  1. 使用len函数求两个字符串的长度,如果长度不相同,则一定不能旋转得到。
  2. 将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前缀的字符串数目。一个字符串的前缀是出现在字符串开头的子字符串。子字符串是一个字符串中的连续一段字符序列。

解题步骤:

  1. 依次遍历words中的字符串。
  2. 使用字符串的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已经准备就绪。

Python库的使用_第2张图片

如果提示'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件,则说明在安装Python的时候没有正确的将pip添加到PATH环境变量中,此时的解决方法有两种:

  • 手动将pip所在的路径添加到PATH环境变量中。
  • 卸载重装Python,在重装时记得勾选添加环境变量的选项。

当pip就绪后,通过以下命令即可安装对应的第三方库:

pip install [库名]

注意:

  • pip命令需要从网络上进行下载,使用时需要保证网络畅通,安装成功后即可使用import导入对应的模块进行使用。
  • 如果使用pip安装完第三方库后,在PyCharm中仍然提示找不到对应的模块,则依次点击File->Settings->Project->Project Interpreter,查看Python解释器设置是否正确。(如果一个机器上安装了多个版本的Python,就容易出现这种情况)

使用示例:生成二维码

1、通过搜索引擎,确定需要使用的库

Python库的使用_第3张图片

2、查看qrcode文档

Python官方将第三方库都收集到了PyPI网站,因此我们可以在PyPI上直接搜索qrcode。

Python库的使用_第4张图片

搜索后进入qrcode的详情页,在文档开头就描述了应该如何安装qrcode库。

Python库的使用_第5张图片

在文档中还描述了qrcode库的使用方法。

Python库的使用_第6张图片

3、使用pip安装

在得知如何安装qrcode后,直接使用pip命令进行安装即可。

pip install qrcode[pil]

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

4、编写代码

安装qrcode库后,模仿文档中的示例代码来编写代码即可。比如:

import qrcode

img = qrcode.make('越努力越幸运')
img.save('qrcode.png')

运行程序后,在当前目录下就会生成一个名为qrcode.png的二维码图片。如下:
Python库的使用_第7张图片
这时使用微信或者其他工具扫码,即可看到二维码当中的内容。

说明一下:二维码本质就是用黑白点阵来表示一个字符串,如果表示的字符串是一个URL,那么扫码后就会直接跳转到对应的地址,从而打开一个网页。

你可能感兴趣的:(Python,python,开发语言)