Python相关题-字符串
数据类型 - 字符串
19. 列举Python中的基本数据类型?
答:Python3中有六个标准的数据类型:字符串(String)、数字(Digit)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。
20. 如何区别可变数据类型和不可变数据类型
答:从对象内存地址方向来说
可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的key值必须是不可变类型)
不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔类型,都是不可变类型)可以通过id()方法进行内存地址的检测。
21 .将"hello world"转换为首字母大写"Hello World"
答: 这个得看清题目是要求两个单词首字母都要大写,如果只是第一个单词首字母大小的话,只使用capitalize即可,但是这里是两个单词,所以用下面的方法。
arr = "hello world".split(" ")
new_str = f"{arr[0].capitalize()} {arr[1].capitalize()}"
print(new_str)
后来评论中有朋友提到了下面的方法,这里感谢这位朋友提醒。方案如下
"hello world".title()
非常简单一句话搞定。
22. 如何检测字符串中只含有数字?
答::可以通过isdigit方法,例子如下
s1 = "12223".isdigit()
print(s1)
s2 = "12223a".isdigit()
print(s2)
# 结果如下:
# True
# False
23. 将字符串"ilovechina"进行反转
答:
s1 = "ilovechina"[::-1]
print(s1)
24. Python中的字符串格式化方式你知道哪些?
答: % s,format,fstring(Python3.6开始才支持,现在推荐的写法)
25. 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。
答::因为题目要是写一个函数所以我们不能直接使用strip,不过我们可以把它封装到函数啊
def strip_function(s1):
return s1.strip()
s1 = " adabdw "
print(strip_function(s1))
26. 获取字符串”123456“最后的两个字符。
答:切片使用的考察,最后两个即开始索引是 - 2,代码如下
a = "123456"
print(a[-2::])
27. 一个编码为GBK的字符串S,要将其转成UTF - 8编码的字符串,应如何操作?
答:
a = "S".encode("gbk").decode("utf-8", 'ignore')
print(a)
28. 题目
(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)
(2)
s = "你好 中国 "
print(" ".join(s.split()))
29.(1)怎样将字符串转换为小写。 (2)单引号、双引号、三引号的区别?
答:
(1) 使用字符串的lower()方法。
(2) 单独使用单引号和双引号没什么区别,但是如果引号里面还需要使用引号的时候,就需要这两个配合使用了,
然后说三引号,同样的三引号也分为三单引号和三双引号,两个都可以声名长的字符串时候使用,如果使用docstring就需要使用三双引号。