當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python str構造函數用法及代碼示例


Python 的 str(~) 構造函數返回對象的字符串版本。

參數

1. object | object

要轉換為字符串的對象。

2. encoding | encoding type | optional

所提供對象的編碼。默認為 utf-8

3. errors | error method | optional

指定如何處理錯誤。默認為 strict

類型

說明

strict

編碼失敗時引發UnicodeError

ignore

忽略格式錯誤的數據並繼續,恕不另行通知。

replace

替換為合適的替換標記進行編碼。

xmlcharrefreplace

替換為適當的 XML 字符引用。

backslashreplace

替換為反斜杠轉義序列。

namereplace

替換為 \N{...} 轉義序列。

返回值

對象的字符串版本。如果未提供對象,則返回空字符串。

例子

要返回 15 的字符串版本:

a = 15
b = str(a)
print(b)
print(type(b))



15
<class 'str'>

編碼參數

指定 'utf-8' 的編碼:

# Create a bytes object and store it to variable y
y = bytes('marché', encoding='utf-8')
str(y, encoding='utf-8')



'marché'

使用utf-8編碼的字節對象y可以成功解碼並轉換為字符串。

錯誤參數

要指定 'replace' 錯誤方法並使用 'ascii' 進行解碼:

# Create a bytes object and store it to variable z
z = bytes('marché', encoding='utf-8')
str(z, encoding='ascii', errors='replace')



'march��'

無法以 ASCII 格式解碼 é,因此使用 '�' 替換標記而不是引發錯誤。

要使用 'ascii''strict' 錯誤方法解碼 'marché'

# Create a bytes object and store it to variable z
z = bytes('marché', encoding='utf-8')
str(z, encoding='ascii', errors='strict')



UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5

無法以 ASCII 解碼 é,並且由於我們已指定 'strict' 模式來處理錯誤,因此會引發 UnicodeDecodeError

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Python | str constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。