Python str() 函数
str() 是 Python 中最常用的内置函数之一,用于将其他类型的数据转换为字符串类型。
字符串是 Python 中最常用的数据类型之一,str() 函数可以帮助我们将数字、列表、元组等转换为字符串,方便输出和拼接。
单词释义: str 是 string(字符串)的缩写。
基本语法与参数
str() 是一个内置函数,可以直接调用。
语法格式
str(object) str(object, encoding) str(object, errors)
参数说明
- 参数 object:
- 类型: 任意对象
- 描述: 要转换为字符串的对象。
- 参数 encoding(可选):
- 类型: 字符串
- 描述: 编码格式(如 'utf-8', 'gbk')。
- 参数 errors(可选):
- 类型: 字符串
- 描述: 错误处理方式,默认为 'strict'(抛出异常)。其他选项:'ignore', 'replace'。
函数说明
- 返回值: 返回字符串对象。
- 默认行为: 不带参数返回空字符串
""。
实例
让我们通过例子掌握 str() 的用法。
示例 1:基础用法 - 转换各种类型
实例
# 整数转字符串
print(str(123)) # 输出: 123
print(type(str(123))) # 输出: <class 'str'>
# 浮点数转字符串
print(str(3.14159)) # 输出: 3.14159
# 布尔值转字符串
print(str(True)) # 输出: True
print(str(False)) # 输出: False
# 列表转字符串
print(str([1, 2, 3])) # 输出: [1, 2, 3]
# 元组转字符串
print(str((1, 2, 3))) # 输出: (1, 2, 3)
# 字典转字符串
print(str({"name": "Tom", "age": 20})) # 输出: {'name': 'Tom', 'age': 20}
# 空参数
print(str()) # 输出: (空行)
print(str(123)) # 输出: 123
print(type(str(123))) # 输出: <class 'str'>
# 浮点数转字符串
print(str(3.14159)) # 输出: 3.14159
# 布尔值转字符串
print(str(True)) # 输出: True
print(str(False)) # 输出: False
# 列表转字符串
print(str([1, 2, 3])) # 输出: [1, 2, 3]
# 元组转字符串
print(str((1, 2, 3))) # 输出: (1, 2, 3)
# 字典转字符串
print(str({"name": "Tom", "age": 20})) # 输出: {'name': 'Tom', 'age': 20}
# 空参数
print(str()) # 输出: (空行)
运行结果预期:
123
<class 'str'>
3.14159
True
False
[1, 2, 3]
(1, 2, 3)
{'name': 'Tom', 'age': 20}
代码解析:
- 数字转换为字符串时,保持原来的数字表示。
- 布尔值转换为字符串时,首字母大写。
- 列表、元组、字典等容器类型会转换为它们的字符串表示。
示例 2:字符串拼接
实例
name = "Tom"
age = 20
height = 1.75
# 使用 str() 转换后拼接
info = name + " " + str(age) + "岁 " + str(height) + "米"
print(info) # 输出: Tom 20岁 1.75米
# 使用 f-string(推荐方式)
info = f"{name} {age}岁 {height}米"
print(info) # 输出: Tom 20岁 1.75米
# 格式化输出
print("姓名: " + str(name)) # 输出: 姓名: Tom
age = 20
height = 1.75
# 使用 str() 转换后拼接
info = name + " " + str(age) + "岁 " + str(height) + "米"
print(info) # 输出: Tom 20岁 1.75米
# 使用 f-string(推荐方式)
info = f"{name} {age}岁 {height}米"
print(info) # 输出: Tom 20岁 1.75米
# 格式化输出
print("姓名: " + str(name)) # 输出: 姓名: Tom
运行结果预期:
Tom 20岁 1.75米 Tom 20岁 1.75米 姓名: Tom
代码解析:
str()转换后可以使用加号进行字符串拼接。- 现代 Python 推荐使用 f-string 进行字符串格式化,更简洁易读。
示例 3:处理字节和编码
实例
# 字节串转字符串(需要指定编码)
data = b"Hello"
s = str(data, encoding='utf-8')
print(s) # 输出: Hello
# 处理编码错误
data = b"Hello\x80"
s = str(data, encoding='utf-8', errors='ignore')
print(s) # 输出: Hello(忽略非法字节)
s = str(data, encoding='utf-8', errors='replace')
print(s) # 输出: Hello(用替换符代替)
data = b"Hello"
s = str(data, encoding='utf-8')
print(s) # 输出: Hello
# 处理编码错误
data = b"Hello\x80"
s = str(data, encoding='utf-8', errors='ignore')
print(s) # 输出: Hello(忽略非法字节)
s = str(data, encoding='utf-8', errors='replace')
print(s) # 输出: Hello(用替换符代替)
运行结果预期:
Hello Hello Hello
这个例子展示了 str() 在处理字节和编码时的用法。
Python3 内置函数
点我分享笔记