Python 学习-Day6-部分库简介
文章目录
一、导入库的方法
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库优先搜索路径为(先后顺序按序号):
- 优先在代码所在文件夹搜索
- 搜索python安装路径下的lib目录
- 搜索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. 贪婪和非贪婪模式
- 贪婪模式(默认):
-
量词会尽可能多地匹配字符
-
*, +, ?, {n,m} 默认都是贪婪的
- 非贪婪模式:
-
在量词后加 ? 表示非贪婪匹配
-
会尽可能少地匹配字符
- 示例
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)

更多推荐
所有评论(0)