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学习路线图(告别不入流的学习)


相关文章
|
6天前
|
Python
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。
|
9天前
|
SQL 算法 数据挖掘
leetCode第十题 : 正则表达式匹配 动态规划【10/1000 python】
leetCode第十题 : 正则表达式匹配 动态规划【10/1000 python】
|
12天前
|
数据采集 监控 Python
Python新手必看:正则表达式入门到精通只需这一篇!
了解 Python 中的正则表达式,用于高效处理字符串。导入 `re` 模块,用 `r` 前缀避免转义困扰。示例:`re.split` 切分字符串,`re.findall` 进行匹配与查找,数量词如 `*`, `+`, `?` 控制匹配次数,边界匹配定位开始或结束。使用 `group` 和 `sub` 进行组合操作,解决复杂文本处理问题。正则表达式是字符串处理的利器,助你轻松应对各种场景。
12 0
|
12天前
|
数据库 C++ 索引
Python 正则表达式
Python 正则表达式
|
13天前
|
算法 安全 虚拟化
北美码农面试流程,北美码农面试经验
北美码农面试流程,北美码农面试经验
12 0
|
14天前
|
机器学习/深度学习 缓存 固态存储
11.Python 正则表达式
11.Python 正则表达式
23 0
|
14天前
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
15 2
|
16天前
|
Python
Python中re模块的正则表达式
【6月更文挑战第2天】了解Python的re模块,它是处理正则表达式的核心工具。正则表达式用于在文本中查找特定模式。本文讨论了re模块的用法和技巧,包括导入模块、匹配、分组、替换文本、编译正则表达式以及使用预定义字符类、量词、锚点等高级功能。通过实例展示了如何在Python中执行这些操作,帮助提升文本处理能力。掌握这些技巧将使你更有效地利用正则表达式解决字符串处理问题。
11 2
|
2天前
|
缓存 网络协议 Java
Android面试题之Java网络通信基础知识
Socket是应用与TCP/IP通信的接口,封装了底层细节。网络通信涉及连接、读写数据。BIO是同步阻塞,NIO支持多路复用(如Selector),AIO在某些平台提供异步非阻塞服务。BIO示例中,服务端用固定线程池处理客户端请求,客户端发起连接并读写数据。NIO的关键是Selector监控多个通道的事件,减少线程消耗。书中推荐《Java网络编程》和《UNIX网络编程》。关注公众号AntDream了解更多。
11 2
|
2天前
|
存储 缓存 Java
面试官:Java中缓冲流真的性能很好吗?我看未必
【6月更文挑战第9天】面试官:Java中缓冲流真的性能很好吗?我看未必
23 3