面试题第五关:python
第一部分——考点:
- 修改字符串中的字母;
- 拆分字符串。
第二部分——面试题:
1.面试题一:如何改变字符串首字母的大小写。
2.面试题二:若是字符串中包含多个单词,如何改变每一个单词首字母的大小写。
第三部分——解析:
面试题一 之 将字符串首字母改成大写:
- 将字符串首字母改成大写:
s1 = 'hello'
print(s1.capitalize())
复制代码

- 将第二个字母改成大写:
s1 = 'hello'
s1 = s1[0:1] + s1[1].upper() + s1[2:]
print(s1)
复制代码

- 将首字母改成小写:
s2 = 'Hello'
s = s2[0].lower() + s2[1:]
print(s)
复制代码

面试题二 之 将字符串中每个单词的首字母变为大写:
s3 = 'hello world'
arr = s3.split(' ')
print(arr)
new_str = f'{arr[0].capitalize()} {arr[1].capitalize()}'
print(new_str)
复制代码

总结:
- 字符串前加 u
例:u"我是含有中文字符组成的字符串。"
做用: 后面字符串以 Unicode 格式进行编码,通常用在中文字符串前面,防止由于源码储存格式问题,致使再次使用时出现乱码。 |
- 字符串前加 r
例:r"\n\n\n\n” 表示一个普通字符串 \n\n\n\n,而不表示换行了。
做用: 去掉反斜杠的转义机制。 (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,好比最多见的”\n”表示换行,”\t”表示Tab等。 ) |
- 字符串前加 b
例: response = b’Hello World!’ b’ ’ 表示这是一个 bytes 对象
做用: b" "前缀表示:后面字符串是bytes 类型。 |
用处: 网络编程中,服务器和浏览器只认bytes 类型数据。 如:send 函数的参数和 recv 函数的返回值都是 bytes 类型 |
附:
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode(‘utf-8') bytes.decode(‘utf-8')
复制代码
- 字符串前加 f
import time
t0 = time.time()
time.sleep(1)
name = 'processing'
print(f'{name} done in {time.time() - t0:.2f} s')
复制代码
