python面试中较常问及的知识点梳理---字符串

1.列举 Python 中的基本数据类型?
2. 如何区别可变数据类型和不可变数据类型
3. 将"hello world"转换为首字母大写"Hello World"
4. 如何检测字符串中只含有数字?
5. 将字符串"ilovechina"进行反转
6. Python 中的字符串格式化方式你知道哪些?
7. 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。
8. 获取字符串”123456“最后的两个字符。
9. 一个编码为 GBK 的字符串 S,要将其转成 UTF-8 编码的字符串,应如何操作?
10.
(1)s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]。
(2)a = "你好 中国 ",去除多余空格只留一个空格。
11.
(1) 怎样将字符串转换为小写。
(2) 单引号、双引号、三引号的区别?


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

2.如何区别可变数据类型和不可变数据类型
答:
从对象内存地址方向来说
可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的 key 值必须是不可变类型)
不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔类型,都是不可变类型)可以通过 id() 方法进行内存地址的检测。

3.将"hello world"转换为首字母大写"Hello World"
答:

"hello world".title()

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 开始才支持,现在推荐的写法)

7.有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。
答:
因为题目要是写一个函数所以我们不能直接使用 strip,所以把它封装到函数里边:

def strip_function(s1):
    return s1.strip()

s1 = " adabdw "
print(strip_function(s1))

8.获取字符串”123456“最后的两个字符。
答:切片使用的考察,最后两个即开始索引是 -2,代码如下

a = "123456"
print(a[-2::])

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

a= "S".encode("gbk").decode("utf-8",'ignore')
print(a)

10.(1)s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]。(2)a = "你好 中国 ",去除多余空格只留一个空格。
答:
1)我们需要根据冒号或者空格切分

import re

s = "info:xiaoZhang 33 shandong"
res = re.split(r":| ", s)
print(res)
s = "你好     中国  "
print(" ".join(s.split()))

11.(1) 怎样将字符串转换为小写。 (2) 单引号、双引号、三引号的区别?
答:
(1) 使用字符串的 lower() 方法。
(2)单独使用单引号和双引号没什么区别,但是如果引号里面还需要使用引号的时候,就需要这两个配合使用了,然后说三引号,同样的三引号也分为三单引号和三双引号,两个都可以声名长的字符串时候使用,如果使用 docstring 就需要使用三双引号。

你可能感兴趣的:(python面试中较常问及的知识点梳理---字符串)