面試題第五關: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')
複製代碼