描述:部分笔记
url:https://edu.csdn.net/course/detail/26755
第一章:Python面试前篇:万变不离核心
1、导入Python模块
3、各种类型的变量与值之间的多种连接方式
a、字符串与字符串之间
b、字符串与非字符串之间
![](https://i-blog.csdnimg.cn/blog_migrate/28d5e1351f8083458ce03caf907eba70.png)
4、十进制、二进制、八进制和十六进制之间的转换
![](https://i-blog.csdnimg.cn/blog_migrate/285193fb1299a76751a88b3f5f00f339.png)
5、改变字符串首字母的大小写
a、s1.capitalize()
b、字符串拆分和连接
6、如何检测一个字符串是否可以转换成数字
a、检测字符串是否为数字 s1.isdigit()
b、检测字符串是否为字母数字混合 s1.isalnum()
c、检车字符串中是否为整数 s1.isdecimal()
d、检测字符串是否为纯字母 s1.isalpha()
e、利用if_else或try_except来确定字符串转换成数字的边界
7、如何反转字符串
a、切片 s1[::-1]
b、循环
s='abcde'
s1=''
s1=c+s1 for c in s
8、格式化整数和浮点数
a、格式化整数
![](https://i-blog.csdnimg.cn/blog_migrate/6808de6d4f46078eb87dc40e010f754b.png)
b、格式化浮点数
![](https://i-blog.csdnimg.cn/blog_migrate/1dc8e4fea4a76ad7e08d0d97c5f374b5.png)
c、描述format函数
![](https://i-blog.csdnimg.cn/blog_migrate/8d8762b9242d2c00717ed3a108eb6acf.png)
print(format(x1, 'E'))
print(format(x1,'0.2E'))
a、如何同时在字符串中显示单引号和双引号
反斜杠‘\’
b、让字符串中的转移符失效有几种方法(r,repr和\)
print(r'Let \'s go!)
print(repr('hello \nworld'))
print('hello \\nworld')
c、如何保留字符串的原始格式
三对单引号或双引号“ """ """ ”
10、请详细描述print函数的用法
a、使用print函数输出字符串时,如果用逗号(,)分隔
print('aa', 'bb', sep=',')
参数sep的值可以为" ; : \ "等
b、使用print函数输出字符串时,如何不换行
print('hello', end=' ')
print('world')
c、如何用print函数格式化输出
s=read
x=len(s)
print('The length of %s is %d' %(s,x))
![](https://i-blog.csdnimg.cn/blog_migrate/8b232b81523d3b18de599d6bf46d58c1.png)
第二章:Python面试必考重点:列表、元组与字典
1、去掉列表或元组中的重复元素
a、在Python中如何定义集合,集合与列表有什么区别
a = [1,2,3,4,5] # 列表
b = (1,2,3,4,5) #元组
c = {1,2,3,4,5} # 集合
区别:
(1)集合没有重复的元素,而列表可以有重复的元素
(2)集合中的元素与顺序无关,而列表中的元素与顺序有关
b、如何去掉列表(元组)中重复的元素
(1)将列表(元组)转换为集合后,重复元素会自动删除,然后再将集合转换为列表或元组。
2、集合之间的并集与交集
a、如何向集合中添加和删除元素,需要注意什么
x.add(12)
x.remove(12)
集合不具有索引;当删除元素不存在时会报错。
b、如何求集合的并、交,集合之间是否还支持其他操作
集合之间的合并通过 |或 x1.union(x2)
集合之间的相交通过 & 或 x1.intersection(x2)
集合之间的差通过 x1.difference(x2) #将x1中有的,在x2中也有的元素删除,并返回x1中剩余元素
其他 x1 ^ x2 #去除x1和x2中共有的元素,并返回x1和x2中余下元素的合集
3、如何让列表首尾相接
a、连接两个列表或元组的方式有哪些?
a+b
a.extend(b)
b、这些连接方式有什么区别?
(1)列表有两种连接方式,但元组不可修改,即不能用extend()方法,只能用 +
(2)extend()会改变a列表,而+
不会
4、如何打乱列表元素的顺序
a、手工打乱列表元素的顺序
编写一个函数(不要使用Python模块的函数),打乱列表元素的顺序
![](https://i-blog.csdnimg.cn/blog_migrate/1eef6e9a9a6eae40dbf8ae81bcfc7123.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d7fc0665bb4971873e07d59543dd32ce.png)
b、随机排列API
如何对列表元素进行随机排列
a = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(a)
print(a)
5、单星和双星运算符的作用
a、单星(*)和双星(**)运算符的作用
![](https://i-blog.csdnimg.cn/blog_migrate/fdf67080d6284aaf81da2b203479a458.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a3228924454cb4d5a404a763b88250f0.png)
b、请描述合并列表和字典的方法有哪些
a = [1,2,3]
b=[4,5,6]
c = [*a,*b]
print(c)
![](https://i-blog.csdnimg.cn/blog_migrate/8ae9a79c3812097fd0896fb2b87399e9.png)
a、如何快速调换字典中的key和value
![](https://i-blog.csdnimg.cn/blog_migrate/06366b42e76fd30ebde892fc8cd3811b.png)
b、如何用循环快速生成一个从0到100的列表([0,1,...,100])
列表推导
[ i for i in range(100)]
7、将两个列表或元组合并成一个字典
![](https://i-blog.csdnimg.cn/blog_migrate/b0973c71aa0e2020cc825bfa874ffb3c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f7e5a319c70b4fdea5a455ed9f4d5cf0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/97d2ee8691e7389a6bbe57536f9de582.png)
8、详细描述列表与元祖的差异
b、元祖是只读的,列表是可读写的
c、使用tuple函数后,元组仍然为自身,而使用list函数后,会复制一个新列表
![](https://i-blog.csdnimg.cn/blog_migrate/a4c96c79243abb6b9d2309589a23bf1f.png)
d、大小不同
![](https://i-blog.csdnimg.cn/blog_migrate/d5b774ff2d0149bd017745112f7b177d.png)
9、如何排序一个列表
![](https://i-blog.csdnimg.cn/blog_migrate/239bd7f0d18061312f2e555069085698.png)
b、列表的sort方法与sorted函数都可以对列表进行排序,他们有什么区别呢?
(2)sort改变列表本身,sorted返回一个排好序的列表副本
c、如何倒叙排序一个列表
将reverse参数值设为True,可以对列表进行倒序排列
10、如果列表的元素是对象,该如何进行排序
a、如果列表元素是对象,对这样的列表排序有哪些方法?
![](https://i-blog.csdnimg.cn/blog_migrate/9ba01cafc96da1c46bd59f4c0acb5af5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/db2abe1911db6549569005a41cd035a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2999aabd595b79293de9a2583ea91e0a.png)
b、如果列表元素是对象,进行倒序排列的方法有哪些?
![](https://i-blog.csdnimg.cn/blog_migrate/9eb30998a89a8f7dbe7d493bf3996faf.png)
11、del和pop在删除列表元素上的区别
![](https://i-blog.csdnimg.cn/blog_migrate/9ac567a098aebc998c3702ff953b8861.png)
12、用lambda表达式对列表进行排序
a、如果列表元素是字典类型,如何利用lambda表达式对列表进行升序降序排列
![](https://i-blog.csdnimg.cn/blog_migrate/2d2f87260bd8bc02c5a6ec94e6487c23.png)
![](https://i-blog.csdnimg.cn/blog_migrate/359defb9df2d4e7e73651b8005931b26.png)
由于列表和字典的元素是可变的,所以不能作为字典的键值
14、对产生器类型的对象使用切片
![](https://i-blog.csdnimg.cn/blog_migrate/1d2802836dfce368f9cd801fd14cb09a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0109c4d9479bab8af94a64c90520a846.png)
15、将循环参数的列表变成产生器
a、如何将 [i for i in range(20)]
变成产生器
( i for i in range(20)
16、Python字典与JSON字符串如何互转
![](https://i-blog.csdnimg.cn/blog_migrate/de1c640ebaff8ade3259624c9f6d877e.png)
第三章:Python面试必考重点:字符串与正则表达式
1、Python字符串格式化知多少
a、在Python语言中有多少种格式化字符串的方法
(1)%格式化
(2)模板字符串
(3)字符串的format方法
(4)fstring
b、请解释什么是模板字符串,如何使用
通过Template对象封装,$放置一些占位符,并通过substitute方法用实际的值替换这些占位符
![](https://i-blog.csdnimg.cn/blog_migrate/f042c6b3fa222ca849bbba58701f3e02.png)
2、使用fstring方式格式化字符串
a、在Python语言中哪种格式化方式可以直接使用变量
fstring
b、请用代码描述如何使用fstring格式化字符串
![](https://i-blog.csdnimg.cn/blog_migrate/5ff274252aec4a2b63c38fa373a7b797.png)
fstring方式是指在字符串中直接使用Python变量,这需要在字符串前面用f标注
3、详细描述Python字符串的基本操作
a、通过索引获取字符串中的某个字符串
b、切片
c、判断元素是否在字符串中, in
not in
d、其他 max()
min()
len()
4、请详细描述字符串的format方法传递参数有几种方式
a、字符串的format方法有几种指定参数的方式
(1)默认方式(传入的参宿与{}一一对应)
(2)命名参数
(3)位置参数
b、请详细描述字符串的format方法如何格式化字符串
5、让字符串居中显示
a、如何让字符串居中显示,有哪些方法
(1)center方法
(2)format方法
b、请使用center方法让字符串居中显示,两侧显示#号
![](https://i-blog.csdnimg.cn/blog_migrate/569107a1e9b0cc866c68397d9ad39713.png)
6、连接列表中的分隔符
a、如何将列表中的元素(字符串类型的值)连接在一起(首尾相接)
![](https://i-blog.csdnimg.cn/blog_migrate/0fb1f64ead1e36586bd9911677daa767.png)
b、字符串的join方法的作用是什么,使用join应该注意些什么,请举例说明
join方法可以将列表中的字符串类型元素值连接起来,并且可以指定元素值直接的分隔符。
7、用正则表达式判断字符串中是否包含日期
a、请简要描述Python正则表达式中的match函数的作用
b、如果日期的格式是4位年,2位月,2位日(如2012-01-02),如何使用正则表达式判断一个字符串是否包含这样的日期
![](https://i-blog.csdnimg.cn/blog_migrate/e63ce1a64af5ddae14bc1d8beef26304.png)
8、寻找字符串中的手机号
a、请描述Python正则表达式中的match和search的区别
(1)match:用于匹配
(2)search:用于搜索
b、如果一个字符串中含有11位的手机号,请使用正则表达式找到第1个出现的手机号,并输出手机号,开始索引和结束索引
![](https://i-blog.csdnimg.cn/blog_migrate/205bbe884a14cb2b956c8469b5d65169.png)
9、用正则表达式分别提取电话号的区号-电话号和分机号
![](https://i-blog.csdnimg.cn/blog_migrate/02785c388ce54d50bfce791145a89c3e.png)
通过在正则表达式的某些部分加一对圆括号,可以单独获取圆括号中的内容,这称为正则表达式的分组。
10、用正则表达式查找字符串中所有的Email
![](https://i-blog.csdnimg.cn/blog_migrate/ca350e4b58c370cda06f81db248f4a40.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27e5e10fb62ad2f33feabac2a052cd6d.png)
11、用正则表达式格式化字符串中的所有浮点数
![](https://i-blog.csdnimg.cn/blog_migrate/32a8775a9a09ae74d87b3b70ed47f962.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1ba7cbef1257e8be00263b44dc664822.png)
12、提取html页面中的url
![](https://i-blog.csdnimg.cn/blog_migrate/01f8f5f3a18d6308720cd789f6bf10d8.png)