Python 中 str() 函数的深入指南280


简介

在 Python 中,str() 函数用于将其他数据类型转换为字符串。字符串是 Python 中不可变有序的字符序列,用于存储文本数据。str() 函数提供了多种选项来控制转换的行为和格式。

语法str() 函数的语法如下:
```
str(object, encoding='utf-8', errors='strict')
```
* object:要转换为字符串的任何对象。
* encoding(可选):用于编码字符串的字符编码。默认值为 UTF-8。
* errors(可选):如果编码过程中出现错误时的处理方式。默认值为 "strict",这将引发 UnicodeDecodeError。

用法要将对象转换为字符串,请使用 str() 函数,如下所示:
```
>>> str(123)
'123'
>>> str(3.14)
'3.14'
>>> str(True)
'True'
```

字符串格式化str() 函数还可以用于格式化字符串,通过指定格式说明符来控制输出。格式说明符以一个百分号 (%) 开始,后跟一个字母,指定要应用的格式。
常用的格式说明符:
* %s:字符串
* %d:整数
* %f:浮点数
* %x:十六进制整数
* %o:八进制整数
示例:
```
>>> name = "John"
>>> age = 30
>>> "My name is %s and I am %d years old." % (name, age)
'My name is John and I am 30 years old.'
```

字符串编码str() 函数可以指定用于编码字符串的字符编码。这在处理非 ASCII 字符时很有用。
示例:
```
>>> name = "José"
>>> str(name, encoding='ascii')
'Jos\xe9' # 出于 ASCII 不可表示的字符被替换为转义序列
>>> str(name, encoding='utf-8')
'José' # 名称正确编码为 UTF-8
```

错误处理str() 函数可以指定在编码过程中出现错误时的处理方式。
错误处理选项:
* strict(默认):引发 UnicodeDecodeError。
* ignore:忽略错误字符并继续编码。
* replace:用替换字符(通常是问号)替换错误字符。
示例:
```
>>> name = "José"
>>> str(name, encoding='ascii', errors='ignore')
'Jo' # 非 ASCII 字符被忽略
>>> str(name, encoding='ascii', errors='replace')
'Jos?' # 非 ASCII 字符被替换为问号
```

自定义字符串表示对象可以通过实现 __str__() 方法来自定义其字符串表示。此方法应返回一个字符串,用于表示该对象。
示例:
```python
class Person:
def __init__(self, name, age):
= name
= age
def __str__(self):
return "Name: %s, Age: %d" % (, )
>>> person = Person("John", 30)
>>> print(person)
Name: John, Age: 30
```

str() 函数是 Python 中一个强大的工具,用于将其他数据类型转换为字符串并对其进行格式化。通过了解其语法、用法和选项,你可以有效地使用 str() 函数来处理字符串数据并创建格式良好的输出。

2024-10-14


上一篇:Visual Studio Code 中轻松运行 Python 代码

下一篇:在 Python 中进行编码的最佳平台