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
Java JList动态数据管理:深入理解与高效更新策略
https://www.shuihudhg.cn/132270.html
深入理解Java文本加密:AES、RSA与安全实践指南
https://www.shuihudhg.cn/132269.html
Java鼠标事件处理深度指南:从基础监听器到高级应用实战
https://www.shuihudhg.cn/132268.html
Java查询MongoDB数据:从基础操作到高级聚合的全面指南
https://www.shuihudhg.cn/132267.html
Python实现日志文件实时监控与智能分析:从入门到高级实践
https://www.shuihudhg.cn/132266.html
热门文章
Python 格式化字符串
https://www.shuihudhg.cn/1272.html
Python 函数库:强大的工具箱,提升编程效率
https://www.shuihudhg.cn/3366.html
Python向CSV文件写入数据
https://www.shuihudhg.cn/372.html
Python 静态代码分析:提升代码质量的利器
https://www.shuihudhg.cn/4753.html
Python 文件名命名规范:最佳实践
https://www.shuihudhg.cn/5836.html