0
点赞
收藏
分享

微信扫一扫

Python字符串格式化与数字处理指南

在Python中,字符串的格式化非常重要,尤其是在生成动态内容时。格式化可以通过多种方式实现,其中最常用的方法是使用 str.format()、f-strings(格式化字符串字面量)以及旧式的 % 格式化。以下是对这些方法的详细介绍,包括数字的格式化操作。

1. 使用 str.format() 方法

str.format() 方法提供了一种灵活的方式来格式化字符串。可以通过大括号 {} 来指定占位符,并在其后使用 format() 方法传入参数。支持多种类型的格式化,包括数字格式。

示例代码

# 使用 str.format() 进行字符串格式化
name = "Alice"
age = 30
height = 5.5

# 基本格式化
formatted_string = "Name: {}, Age: {}, Height: {}".format(name, age, height)
print(formatted_string)

# 数字格式化:设置宽度和小数位
number = 123.456789
formatted_number = "Formatted number: {:.2f}".format(number)  # 保留2位小数
print(formatted_number)

# 数字带千位分隔符
large_number = 1234567890
formatted_large_number = "Large number: {:,.2f}".format(large_number)  # 每千位用逗号分隔,保留两位小数
print(formatted_large_number)

输出结果

Name: Alice, Age: 30, Height: 5.5
Formatted number: 123.46
Large number: 1,234,567,890.00

2. 使用 f-strings(Python 3.6+)

f-strings 是 Python 3.6 及以上版本引入的一种更简洁的格式化方法。通过在字符串前加上 f,可以直接在大括号中插入变量,同时支持格式化操作。

示例代码

# 使用 f-strings 进行字符串格式化
name = "Bob"
age = 25
height = 6.1

# 基本格式化
formatted_string = f"Name: {name}, Age: {age}, Height: {height}"
print(formatted_string)

# 数字格式化
number = 987.654321
formatted_number = f"Formatted number: {number:.3f}"  # 保留3位小数
print(formatted_number)

# 数字带千位分隔符
large_number = 9876543210
formatted_large_number = f"Large number: {large_number:,}"  # 每千位用逗号分隔
print(formatted_large_number)

输出结果

Name: Bob, Age: 25, Height: 6.1
Formatted number: 987.654
Large number: 9,876,543,210

3. 使用 % 格式化(旧式)

虽然不推荐使用,但 % 格式化仍然在一些老旧代码中常见。使用 % 来指定格式,后面跟上一个元组。

示例代码

# 使用 % 进行字符串格式化
name = "Charlie"
age = 28
height = 5.9

# 基本格式化
formatted_string = "Name: %s, Age: %d, Height: %.1f" % (name, age, height)
print(formatted_string)

# 数字格式化
number = 456.789012
formatted_number = "Formatted number: %.4f" % number  # 保留4位小数
print(formatted_number)

# 数字带千位分隔符(Python 3.6+)
large_number = 4567890123
formatted_large_number = "Large number: {:,}".format(large_number)  # 旧式方法不支持千位分隔符,使用format代替
print(f"Large number: {large_number:,}")

输出结果

Name: Charlie, Age: 28, Height: 5.9
Formatted number: 456.7890
Large number: 4,567,890,123

4. 数字格式化操作总结

在Python中,数字格式化的主要操作包括:

  • 保留小数位:使用 :.nf,其中 n 是小数位数。
  • 千位分隔符:使用 :,,可以与小数位同时使用,如 {:,.2f}
  • 补零:使用 :0n,其中 n 是总长度(包括小数点)。
  • 百分比格式:使用 :.2% 可以将数字转换为百分比格式。

示例代码

# 数字格式化操作示例
number1 = 0.12345
number2 = 1000

# 百分比格式化
percent_format = f"Percentage: {number1:.2%}"  # 转为百分比,保留两位小数
print(percent_format)

# 补零格式化
zero_filled = f"Zero filled: {number2:05d}"  # 总长度为5,前面补零
print(zero_filled)

输出结果

Percentage: 12.35%
Zero filled: 01000

举报

相关推荐

0 条评论