Python面试题100讲(来自CSDN课程)笔记

描述:部分笔记

url:https://edu.csdn.net/course/detail/26755

第一章:Python面试前篇:万变不离核心

1、导入Python模块

2、设置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'))

   format函数用于格式化数值,通过第2个参数指定格式化规则  

9、你真的了解Python字符串吗

  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)

    

6、快速调换字典中的key和value

  a、如何快速调换字典中的key和value

   

 

 

 

  b、如何用循环快速生成一个从0到100的列表([0,1,...,100])

列表推导

  [ i for i in range(100)]

7、将两个列表或元组合并成一个字典

  

  

 

 

   

 

 

8、详细描述列表与元祖的差异

  a、语法差异 圆括号或中括号表示

  b、元祖是只读的,列表是可读写的

  c、使用tuple函数后,元组仍然为自身,而使用list函数后,会复制一个新列表

  

  d、大小不同

    元祖比列表占用的空间更小,当元素比较多时,元祖速度更快

    

 

 

 9、如何排序一个列表

  a、对列表排序有哪几种方法

   

 

 

  b、列表的sort方法与sorted函数都可以对列表进行排序,他们有什么区别呢?

    (1)sort属于列表,sorted是独立的函数

    (2)sort改变列表本身,sorted返回一个排好序的列表副本

  c、如何倒叙排序一个列表

    将reverse参数值设为True,可以对列表进行倒序排列

10、如果列表的元素是对象,该如何进行排序

  a、如果列表元素是对象,对这样的列表排序有哪些方法?

    

 

 

  

 

 

    使用operator模块

   

 

 

   b、如果列表元素是对象,进行倒序排列的方法有哪些? 

   

 

 

 11、del和pop在删除列表元素上的区别

   

 

 

12、用lambda表达式对列表进行排序

  a、如果列表元素是字典类型,如何利用lambda表达式对列表进行升序降序排列

   

 

 

   

 

 

 

13、字典键值支持哪些数据类型

由于列表和字典的元素是可变的,所以不能作为字典的键值

14、对产生器类型的对象使用切片

   

 

 

  

 

 

 

 

15、将循环参数的列表变成产生器

  a、如何将 [i for i in range(20)]变成产生器

    如果列表是通过for 循环产生的,只需要将方括号变成圆括号,就会将列表变成一个产生器。

    ( 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、用正则表达式格式化字符串中的所有浮点数        

 

 12、提取html页面中的url

 

posted @ 2020-03-06 16:05  Norni  阅读(466)  评论(0编辑  收藏  举报