经过自己面试的经验,我帮大家对python的知识点进行归类,让大家能在最短时间内掌握核心知识点,更高效的搞定 Python 面试! 今天我整理了关于“数据结构”和“字符串”的面试题,大家一起试试看自己的熟练程度吧

1 列举 Python 中的基本数据类型?

答:Python3 中有六个标准的数据类型: 字符串(String)、 数字(Digit)、 列表(List)、 元组(Tuple)、 集合(Sets)、 字典(Dictionary)。

  2. 如何区别可变数据类型和不可变数据类型?

答:从对象内存地址方向来说 可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的 key 值必须是不可变类型)

不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔类型,都是不可变类型)可以通过 id() 方法进行内存地址的检测。

  3.字符串大小写问题关于英文字符串的大小写转换问题,可以通过几个函数实现?

答:四种 (1)首字母大写 a ='hello,zHong yUan GoNg!!' print(a.title()) (2)全部大写 print(a.upper()) (3)全部小写 print(a.lower()) (4)首个单词的首字母大写 print(a.capitalize()) 输出结果为:

Hello,Zhong Yuan Gong!! HELLO,ZHONG YUAN GONG!! hello,zhong yuan gong!! Hello,zhong yuan gong!!

4. 如何检测字符串中只含有数字?

答:可以通过 isdigit 方法,例子如下 s1 = "12223".isdigit() print(s1) s2 = "12223a".isdigit() print(s2) 结果如下: #True #False  

5. 将字符串"ilovechina"进行反转的方法写出来

答:s1 = "ilovechina"[::-1] print(s1)  

6. Python 中的字符串格式化方式你知道哪些?

答:%s,format,fstring(Python3.6 开始才支持,现在推荐的写法) 例子如下: (1)通过位置格式化 print('hello, '.format('zhong', 'yuan', 'gong')) (2)通过key填充 print('hello,,my name is !!'.format(name='tom', self='sir')) (3)通过数组的下标填充 n=['tom', 'sir'] print('hello,,my name is !!'.format(n=1)) (4)通过字典的key填充,键名不加引号 m={'name': 'tom', 'self': 'sir'} print('hello,,my name is !!'.format(m=m)) 上面输出结果都是: hello,tom,my name is sir!!   7.有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。

答:因为题目要是写一个函数所以我们不能直接使用 strip,不过我们可以把它封装到函数啊 def strip_function(s1): return s1.strip() s1 = " adabdw " print(strip_function(s1))   8.说出你知道能删除字符串中的空格集中函数

答:c =' hello world !!! ' (1)去掉字符串开头和末尾的空格 print(c.strip()) (2)去掉字符串左边的空格 print(c.lstrip()) (3)去掉字符串右边的空格 print(c.rstrip()) (4)去掉字符串中所有的空格 print(c.replace(' ','')) 输出依次为:

hello world !!! hello world !!!       hello world !!! helloworld!!! 注意:这里不要把strip函数和split函数搞混了,前者是删除字符串中指定的字符,默认为空格,后者是用指定的字符分割字符串,默认也是空格  

9. 一个编码为 GBK 的字符串 s,要将其转成 UTF-8 编码的字符串,应如何操作?

答: #转换字符串编码 s='hello,zhongyuan university,你很好!' print(s.encode('utf-8'))  

10.单引号、双引号、三引号的区别?

答:单引号和双引号是等效的,如果要换行,需要符号(\),三引号则可以直接换行,并且可以包含注释 如果要表示Let’s go 这个字符串 单引号:s4 = ‘Let\’s go’ 双引号:s5 = “Let’s go” s6 = ‘I realy like“python”!’ 这就是单引号和双引号都可以表示字符串的原因了