Python面试题100讲(来自CSDN课程)笔记
描述:部分笔记
url:https://edu.csdn.net/course/detail/26755
第一章:Python面试前篇:万变不离核心
1、导入Python模块
3、各种类型的变量与值之间的多种连接方式
a、字符串与字符串之间
b、字符串与非字符串之间
4、十进制、二进制、八进制和十六进制之间的转换
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、格式化整数
b、格式化浮点数
c、描述format函数
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))
第二章: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模块的函数),打乱列表元素的顺序
b、随机排列API
如何对列表元素进行随机排列
a = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(a)
print(a)
5、单星和双星运算符的作用
a、单星(*)和双星(**)运算符的作用
b、请描述合并列表和字典的方法有哪些
a = [1,2,3]
b=[4,5,6]
c = [*a,*b]
print(c)
a、如何快速调换字典中的key和value
b、如何用循环快速生成一个从0到100的列表([0,1,...,100])
列表推导
[ i for i in range(100)]
7、将两个列表或元组合并成一个字典
8、详细描述列表与元祖的差异
b、元祖是只读的,列表是可读写的
c、使用tuple函数后,元组仍然为自身,而使用list函数后,会复制一个新列表
d、大小不同
9、如何排序一个列表
b、列表的sort方法与sorted函数都可以对列表进行排序,他们有什么区别呢?
(2)sort改变列表本身,sorted返回一个排好序的列表副本
c、如何倒叙排序一个列表
将reverse参数值设为True,可以对列表进行倒序排列
10、如果列表的元素是对象,该如何进行排序
a、如果列表元素是对象,对这样的列表排序有哪些方法?
b、如果列表元素是对象,进行倒序排列的方法有哪些?
11、del和pop在删除列表元素上的区别
12、用lambda表达式对列表进行排序
a、如果列表元素是字典类型,如何利用lambda表达式对列表进行升序降序排列
由于列表和字典的元素是可变的,所以不能作为字典的键值
14、对产生器类型的对象使用切片
15、将循环参数的列表变成产生器
a、如何将 [i for i in range(20)]
变成产生器
( i for i in range(20)
16、Python字典与JSON字符串如何互转
第三章:Python面试必考重点:字符串与正则表达式
1、Python字符串格式化知多少
a、在Python语言中有多少种格式化字符串的方法
(1)%格式化
(2)模板字符串
(3)字符串的format方法
(4)fstring
b、请解释什么是模板字符串,如何使用
通过Template对象封装,$放置一些占位符,并通过substitute方法用实际的值替换这些占位符
2、使用fstring方式格式化字符串
a、在Python语言中哪种格式化方式可以直接使用变量
fstring
b、请用代码描述如何使用fstring格式化字符串
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方法让字符串居中显示,两侧显示#号
6、连接列表中的分隔符
a、如何将列表中的元素(字符串类型的值)连接在一起(首尾相接)
b、字符串的join方法的作用是什么,使用join应该注意些什么,请举例说明
join方法可以将列表中的字符串类型元素值连接起来,并且可以指定元素值直接的分隔符。
7、用正则表达式判断字符串中是否包含日期
a、请简要描述Python正则表达式中的match函数的作用
b、如果日期的格式是4位年,2位月,2位日(如2012-01-02),如何使用正则表达式判断一个字符串是否包含这样的日期
8、寻找字符串中的手机号
a、请描述Python正则表达式中的match和search的区别
(1)match:用于匹配
(2)search:用于搜索
b、如果一个字符串中含有11位的手机号,请使用正则表达式找到第1个出现的手机号,并输出手机号,开始索引和结束索引
9、用正则表达式分别提取电话号的区号-电话号和分机号
通过在正则表达式的某些部分加一对圆括号,可以单独获取圆括号中的内容,这称为正则表达式的分组。
10、用正则表达式查找字符串中所有的Email
11、用正则表达式格式化字符串中的所有浮点数 ![](https://img2020.cnblogs.com/i-beta/1837946/202003/1837946-20200306160315056-1453369217.png)
12、提取html页面中的url