一、导入库的方法

1. 导入方法

1.1. 导入整个文件

  • 使用形式
import 库名
  • 示例
    在这里插入图片描述

1.2. 导入库中的函数

  • 使用形式
from 库名 import 函数名
  • 示例
    在这里插入图片描述

1.3. 导入库中的全部函数

  • 使用形式
from 库名 import *
  • 示例
    在这里插入图片描述

1.4. 定义库别名

  • 使用形式
import 库名 as 别名
  • 示例
    在这里插入图片描述

1.5. 注意事项

  • 标准库(python自带库)路径地址获取方式
import sys
print(sys.exec_prefix)

在这里插入图片描述

  • import库优先搜索路径为(先后顺序按序号):
  1. 优先在代码所在文件夹搜索
  2. 搜索python安装路径下的lib目录
  3. 搜索python安装路径下的lib目录中的site-packages目录(即第三方库目录)

二、时间库

Python标准库中的time库主要用于获取当前时间和设置时间格式,使用前需导入import time

1. 获取时间戳

时间戳表示当前时间与1970年1月1日0分0秒的时间差(单位为秒)

  • 示例
    在这里插入图片描述

2. 获取时间

localtime()函数用于获取本地当前时间,参数默认为None,返回当前地区时间,如果为时间戳则返回时间戳的本地时间

  • 示例
    在这里插入图片描述

3. 时间休眠

sleep(参数)函数可以使程序在执行前等待参数秒的时间

  • 示例
    在这里插入图片描述

三、随机库

Python标准库中的time库用于产生随机数,使用前需导入import random

1. 随机生成数值

  • random()用于生成0~1(不包含1)之间的随机小数

  • 示例
    在这里插入图片描述

  • randint(参数1, 参数2)方法用于生成参数1到参数2之间的整数

  • 示例
    在这里插入图片描述

2. 随机选择

  • choice(参数)函数用于从参数中随机选择一个元素,参数通常是序列类型(可以通过索引获取元素)数据,如列表、字符串

  • 示例
    在这里插入图片描述

  • shuffle(参数)函数用于将参数中的元素随机打乱,参数是序列类型数据,如列表

  • 示例
    在这里插入图片描述

  • sample(参数1, 参数2)函数用于从参数1中随机选取参数2个元素,参数1为序列类型数据,参数2为整数

  • 示例
    在这里插入图片描述

3. 随机种子

  • seed(种子)函数通过设置一个随机种子使下一个,随机数值比由该随机种子发出
  • 使用场景:例如需要抽奖,每个人只能抽取一种结果,并且每次结果都相同
  • 示例
    在这里插入图片描述
  • 在该示例中,无论运行几次程序,结果都会是三等奖

四、正则表达式库

  • Python标准库中的re库用于实现正则表达式,使用前需导入import re
  • 正则表达式用于对字符串数据进行操作,包含从字符串中筛选出满足表达式条件信息,将字符串中的数据进行替换等功能

1. 匹配字符串

1.1. match()函数

  • 使用形式:表示从参数2(字符串类型数据)中查找满足参数1(正则表达式)的内容,如果参数2起始位置不匹配的话返回None,如果起始位置匹配成功则返回匹配成功数值
match(参数1,参数2)
  • 示例
    在这里插入图片描述
    在这里插入图片描述

1.2. search()函数

  • 使用形式:表示从参数2(字符串类型数据)中查找满足参数1(正则表达式)的内容,如果匹配了多个参数1,则返回第一个匹配成功的信息
search(参数1, 参数2)
  • 示例
    在这里插入图片描述

1.3. findall()函数

  • 使用形式:表示从参数2(字符串类型数据)中查找满足参数1(正则表达式)的内容,如果匹配了多个参数1,则返回所有匹配成功的信息
findall(参数1, 参数2)
  • 示例
    在这里插入图片描述

2. 正则表达式

2.1. 表示字符范围

  • [abc]:匹配a、b或c中的任意一个字符

  • [a-z]:匹配a到z之间的任意小写字母

  • [A-Z]:匹配A到Z之间的任意大写字母

  • [0-9]:匹配0到9之间的任意数字

  • 示例

import re

text = "abc123XYZ"
print(re.findall('[a-z]', text))  
print(re.findall('[0-9]', text))  
print(re.findall('[^0-9]', text)) 

在这里插入图片描述

2.2. 表示字符出现次数

  • *:前面的字符出现0次或多次

  • +:前面的字符出现1次或多次

  • ?:前面的字符出现0次或1次

  • ^:匹配输入行首

  • $:匹配输入行尾

  • {n}:前面的字符出现恰好n次

  • {n,}:前面的字符出现至少n次

  • {n,m}:前面的字符出现n到m次

  • 示例

text = "a ab abb abbb abbbb"

print(re.findall('ab*', text))   
print(re.findall('ab+', text))  
print(re.findall('ab?', text))   
print(re.findall('ab{2,3}', text)) 

在这里插入图片描述

2.3. 表示同一类字符

  • \d:匹配数字,等价于[0-9]

  • \D:匹配非数字,等价于[^0-9]

  • \w:匹配单词字符(字母、数字、下划线),等价于[a-zA-Z0-9_]

  • \W:匹配非单词字符

  • \s:匹配空白字符(空格、制表符、换行符等)

  • \S:匹配非空白字符

  • .:匹配任意单个字符(除换行符外)

示例:

text = "Hello 123 World! 测试_test"

print(re.findall('\d+', text))   
print(re.findall('\w+', text))    
print(re.findall('\s+', text))   

在这里插入图片描述

3. 贪婪和非贪婪模式

  • 贪婪模式(默认):
  1. 量词会尽可能多地匹配字符

  2. *, +, ?, {n,m} 默认都是贪婪的

  • 非贪婪模式:
  1. 在量词后加 ? 表示非贪婪匹配

  2. 会尽可能少地匹配字符

  • 示例
text = "abcxxxabc"

print(re.findall('a.*c', text))   # 贪婪
print(re.findall('a.*?c', text))  # 非贪婪

在这里插入图片描述

4. 或合组

4.1. 分组 ()

  • 将多个字符作为一个整体

  • 可以提取匹配的子串

  • 可以在替换中引用分组

4.2. 或操作 |

  • 匹配多个模式中的任意一个

  • 示例:

text = "我喜欢苹果、香蕉和橙子"

result = re.findall('苹果|香蕉', text)
result1 = re.findall('(苹果|香蕉|橙子)|(、|和)', text)
print(result)
print(result1) 

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐