格式化

Python的f-string(格式化字符串)提供了丰富的格式化选项,可以用于各种数据类型。以下是一些常见的格式化选项:

整数格式化: * :d 或 :n:十进制整数。 * :b:二进制整数。 * :o:八进制整数。 * :x:小写十六进制整数。 * :X:大写十六进制整数。

number = 42
print(f"{number:d}")  # 输出: 42
print(f"{number:b}")  # 输出: 101010
print(f"{number:o}")  # 输出: 52
print(f"{number:x}")  # 输出: 2a
print(f"{number:X}")  # 输出: 2A

浮点数格式化: * :.2f:保留两位小数的浮点数。 * :e 或 :E:科学计数法(小写或大写)。 * :g 或 :G:通用格式(自动选择合适的表示法)。

number = 3.14159
print(f"{number:.2f}")  # 输出: 3.14
print(f"{number:e}")    # 输出: 3.141590e+00
print(f"{number:E}")    # 输出: 3.141590E+00
print(f"{number:g}")    # 输出: 3.14159

字符串格式化: * :<10:左对齐,总宽度为10。 * :>10:右对齐,总宽度为10。 * :^10:居中对齐,总宽度为10。 * :.10:截取前10个字符。

text = "Hello"
print(f"{text:<10}")  # 输出: Hello     
print(f"{text:>10}")  # 输出:      Hello
print(f"{text:0>10}")  # 输出: 00000Hello
print(f"{text:*<10}")  # 输出: Hello*****
print(f"{text:^10}")  # 输出:   Hello   
print(f"{text:.3}")   # 输出: Hel

百分比格式化: * :.2%:保留两位小数的百分比。

percentage = 0.75
print(f"{percentage:.2%}")  # 输出: 75.00%

日期和时间格式化: * :%Y-%m-%d %H:%M:%S:格式化日期和时间。

from datetime import datetime
now = datetime.now()
print(f"{now:%Y-%m-%d %H:%M:%S}")  # 输出: 例如 2023-04-30 12:34:56

千位分隔符: * :,:使用千位分隔符。

large_number = 123456789
print(f"{large_number:,}")  # 输出: 123,456,789

颜色

color = "red"
text = "Hello, World!"
color_code = {"red": "\033[31m", "green": "\033[32m", "blue": "\033[34m"}
reset_code = "\033[0m"
print(f"{color_code[color]}{text}{reset_code}")  # 输出: 红色文本 Hello, World!

多行

name = "Alice"
age = 30
message = (
    f"Name: {name}\n"
    f"Age: {age}\n"
    f"Description: {name} is {age} years old."
)
print(message)