Python 的 str(~)
構造函數返回對象的字符串版本。
參數
1. object
| object
要轉換為字符串的對象。
2. encoding
| encoding type
| optional
所提供對象的編碼。默認為 utf-8
。
3. errors
| error method
| optional
指定如何處理錯誤。默認為 strict
。
類型 |
說明 |
---|---|
|
編碼失敗時引發 |
|
忽略格式錯誤的數據並繼續,恕不另行通知。 |
|
替換為合適的替換標記進行編碼。 |
|
替換為適當的 XML 字符引用。 |
|
替換為反斜杠轉義序列。 |
|
替換為 |
返回值
對象的字符串版本。如果未提供對象,則返回空字符串。
例子
要返回 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
。
相關用法
- Python str.isidentifier用法及代碼示例
- Python str.expandtabs用法及代碼示例
- Python str.title用法及代碼示例
- Python str.isupper用法及代碼示例
- Python str.rstrip用法及代碼示例
- Python Django strip_tags用法及代碼示例
- Python str.splitlines用法及代碼示例
- Python str() vs repr()用法及代碼示例
- Python string轉integer用法及代碼示例
- Python Django stringfilter用法及代碼示例
- Python str.lstrip用法及代碼示例
- Python string strip()用法及代碼示例
- Python string.octdigits用法及代碼示例
- Python string.whitespace用法及代碼示例
- Python str.removeprefix用法及代碼示例
- Python str.split用法及代碼示例
- Python strip()用法及代碼示例
- Python str()用法及代碼示例
- Python str.zfill用法及代碼示例
- Python str.strip用法及代碼示例
- Python string capitalize()用法及代碼示例
- Python string.punctuation用法及代碼示例
- Python strftime()用法及代碼示例
- Python string center()用法及代碼示例
- Python str.format_map用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Python | str constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。