python中的正则表达式,Python实习面试经验汇总

简介: python中的正则表达式,Python实习面试经验汇总

查看内存地址

print(id(a4[2]))

print(id(b4[2]))

修改数据

a4[2][0] = 6

子对象的数据会受影响

print(a4)

print(b4)

2.深拷贝

import copy # 使用深拷贝需要导入copy模块

不可变类型有: 数字、字符串、元组

a1 = 1

b1 = copy.deepcopy(a1) # 使用copy模块里的deepcopy()函数就是深拷贝了

查看内存地址

print(id(a1))

print(id(b1))

print(“-” * 10)

a2 = “张三”

b2 = copy.deepcopy(a2)

查看内存地址

print(id(a2))

print(id(b2))

print(“-” * 10)

a3 = (1, 2)

b3 = copy.deepcopy(a3)

查看内存地址

print(id(a3))

print(id(b3))

print(“-” * 10)

注意: 元组里面要是有可变类型对象,发现对象有可变类型就会该对象到最后一个可变类型的每一层对象进行拷贝

a4 = (1, [“李四”])

b4 = copy.deepcopy(a4)

查看内存地址

print(id(a4))

print(id(b4))

元组里面的可变类型子对象也会进行拷贝

print(id(a4[1]))

print(id(b4[1]))

可变类型的深拷贝示例代码:

import copy # 使用深拷贝需要导入copy模块

可变类型有: 列表、字典、集合

a1 = [1, 2]

b1 = copy.deepcopy(a1) # 使用copy模块里的deepcopy()函数就是深拷贝了

查看内存地址

print(id(a1))

print(id(b1))

print(“-” * 10)

a2 = {“name”: “张三”}

b2 = copy.deepcopy(a2)

查看内存地址

print(id(a2))

print(id(b2))

print(“-” * 10)

a3 = {1, 2}

b3 = copy.deepcopy(a3)

查看内存地址

print(id(a3))

print(id(b3))

print(“-” * 10)

a4 = [1, 2, [“李四”, “王五”]]

b4 = copy.deepcopy(a4) # 使用copy模块里的deepcopy()函数就是深拷贝了

查看内存地址

print(id(a4))

print(id(b4))

查看内存地址

print(id(a4[2]))

print(id(b4[2]))

a4[2][0] = “王五”

因为列表的内存地址不同,所以数据不会收到影响

print(a4)

print(b4)

3.浅拷贝和深拷贝的区别

4.总结

五、正则表达式的概述


1.正则表达式的介绍

2.正则表达式概念

正则表达式就是记录文本规则的代码

3.正则表达式的样子

0\d{2}-\d{8} 这个就是一个正则表达式,表达的意思是匹配的是座机号码

4.正则表达式的特点

5.小结

正则表达式是匹配符合某些规则的字符串数据

六、re模块介绍


1.re模块的介绍

2. re模块的使用

3.小结

re.match() 根据正则表达式从头开始匹配字符串数据

七、匹配单个字符


1.匹配单个字符

示例2:[]

import re

如果hello的首字符小写,那么正则表达式需要小写的h

ret = re.match(“h”,“hello Python”)
print(ret.group())

如果hello的首字符大写,那么正则表达式需要大写的H

ret = re.match(“H”,“Hello Python”)
print(ret.group())

大小写h都可以的情况

ret = re.match(“[hH]”,“hello Python”)
print(ret.group())
ret = re.match(“[hH]”,“Hello Python”)
print(ret.group())
ret = re.match(“[hH]ello Python”,“Hello Python”)
print(ret.group())

匹配0到9第一种写法

ret = re.match(“[0123456789]Hello Python”,“7Hello Python”)
print(ret.group())

匹配0到9第二种写法

ret = re.match(“[0-9]Hello Python”,“7Hello Python”)
print(ret.group())
ret = re.match(“[0-35-9]Hello Python”,“7Hello Python”)
print(ret.group())

下面这个正则不能够匹配到数字4,因此ret为None

ret = re.match(“[0-35-9]Hello Python”,“4Hello Python”)

print(ret.group())

示例3:\d

import re

普通的匹配方式

ret = re.match(“嫦娥1号”,“嫦娥1号发射成功”)
print(ret.group())
ret = re.match(“嫦娥2号”,“嫦娥2号发射成功”)
print(ret.group())
ret = re.match(“嫦娥3号”,“嫦娥3号发射成功”)
print(ret.group())

使用\d进行匹配

ret = re.match(“嫦娥\d号”,“嫦娥1号发射成功”)
print(ret.group())
ret = re.match(“嫦娥\d号”,“嫦娥2号发射成功”)
print(ret.group())
ret = re.match(“嫦娥\d号”,“嫦娥3号发射成功”)
print(ret.group())

2.小结

八、匹配多个字符


1.匹配多个字符

2.小结

九、匹配开头和结尾


1.匹配开头和结尾

2.除了指定字符以外都匹配

3.小结

十、匹配分组


1.匹配分组相关正则表达式


感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)


相关文章
|
17天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
39 5
|
22天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
2月前
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
24 1
|
2月前
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
|
2月前
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
31 7
|
2月前
|
JavaScript 前端开发 Scala
Python学习十:正则表达式
这篇文章是关于Python中正则表达式的使用,包括re模块的函数、特殊字符、匹配模式以及贪婪与非贪婪模式的详细介绍。
18 0
|
2月前
|
Java C++ Python
【面试宝典】深入Python高级:直戳痛点的题目演示(下)
【面试宝典】深入Python高级:直戳痛点的题目演示(下)
|
2月前
|
设计模式 Unix Python
【面试宝典】深入Python高级:直戳痛点的题目演示(上)
【面试宝典】深入Python高级:直戳痛点的题目演示(上)
|
2月前
|
数据采集 开发者 Python
Python正则表达式之re.compile函数
`re.compile`是Python正则表达式处理中一个强大的工具,它通过预先编译正则表达式,不仅提升了执行效率,还增强了代码的组织性和可读性。掌握其使用,对于涉及文本分析、数据清洗、日志处理等领域的Python开发者来说,是非常必要的技能。正确并高效地应用这一功能,可以显著提升程序的性能和维护性。
94 0