Python零基础 [1.10] 字符串格式化的详解与示例

目录

引言

正文

什么是字符串格式化

使用%操作符

使用str.format()方法

使用f-string

格式化数字

格式化列表和字典

总结


引言

        欢迎来到Python编程的世界!在本教程中,我们将深入探索Python中的字符串格式化。字符串格式化是编程中一个重要的概念,它允许我们以一种更易读和灵活的方式输出字符串。对于初学者来说,掌握字符串格式化技巧是学习Python编程的关键一步。

        Python技术讨论QQ群:418825248

正文

什么是字符串格式化

        字符串格式化是指在字符串中插入变量或表达式的值,以生成新的字符串。Python提供了多种字符串格式化的方法,包括传统的%操作符、str.format()方法和f-string(Python 3.6+)。

使用%操作符

   %操作符是一种较老的字符串格式化方法。它通过占位符%s%d等来指定变量的插入位置:

name = "Alice"
age = 30
print("Hello, %s. You are %d years old." % (name, age))
"""
输出结果:Hello, Alice. You are 30 years old.
"""

使用str.format()方法

   str.format()方法提供了一种更灵活的字符串格式化方式。它使用花括号{}作为占位符,并可以通过索引和关键字参数来指定变量:

name = "Bob"
age = 25
print("Hello, {}. You are {} years old.".format(name, age))
"""
输出结果:Hello, Bob. You are 25 years old.
"""

# 也可以使用关键字参数
print("Hello, {name}. You are {age} years old.".format(name="Charlie", age=35))
"""
输出结果:Hello, Charlie. You are 35 years old.
"""

使用f-string

        f-string是Python 3.6引入的一种新的字符串格式化方法,它通过在字符串前加上fF,并在花括号中直接插入变量或表达式来实现:

name = "David"
age = 28
print(f"Hello, {name}. You are {age} years old.")
"""
输出结果:Hello, David. You are 28 years old.
"""

# f-string也支持表达式
print(f"{name}'s age squared is {age**2}.")
"""
输出结果:David's age squared is 784.
"""

格式化数字

        字符串格式化不仅可以用于字符串,还可以用于数字,以控制数字的显示格式:

number = 123456.789
print(f"Formatted number: {number:.2f}")
"""
输出结果:Formatted number: 123456.79
"""

# 也可以指定宽度和填充字符
print(f"{number:>10}")  # 右对齐,宽度为10
"""
输出结果:        123456.789
"""

print(f"{number:0>12}")  # 右对齐,宽度为12,填充0
"""
输出结果:00000123456.789
"""

格式化列表和字典

        字符串格式化也可以用于列表和字典,通过索引或键来访问元素:

my_list = [1, 2, 3]
print(f"List elements: {my_list[1]}")
"""
输出结果:List elements: 2
"""

my_dict = {"key1": "value1", "key2": "value2"}
print(f"Dictionary value: {my_dict['key1']}")
"""
输出结果:Dictionary value: value1
"""

总结

        在本教程中,我们学习了Python中的字符串格式化方法,包括使用%操作符、str.format()方法和f-string。这些方法使得字符串的输出更加灵活和可读。希望本教程能帮助你更好地理解Python中的字符串格式化,并在你的编程旅程中助你一臂之力!

猜你喜欢

转载自blog.csdn.net/qq_70814008/article/details/143380733