Python中的字符串格式化方式:format()函数的使用方法

变量插入字符串的方法

Python中的format()函数是一种将变量插入字符串的方法,能够使字符串更易于阅读和理解。它支持许多不同的用法,以下是具体的用法和说明:

  • 使用位置参数传递变量

name = 'John'
age = 25
print('My name is {}, and I am {} years old.'.format(name, age))
# 输出:My name is John, and I am 25 years old.
  • 使用索引传递变量

name = 'John'
age = 25
print('My name is {0}, and I am {1} years old.'.format(name, age))
# 输出:My name is John, and I am 25 years old.
  • 使用关键字参数传递变量

name = 'John'
age = 25
print('My name is {n}, and I am {a} years old.'.format(n=name, a=age))
# 输出:My name is John, and I am 25 years old.
  • 格式化数字

price = 19.99
print('The price is ${:.2f}'.format(price))
# 输出:The price is $19.99
  • 对齐文本

text = 'Hello'
print('{:>10}'.format(text))  # 右对齐输出,总宽度为10
# 输出:     Hello
print('{:^10}'.format(text))  # 居中输出,总宽度为10
# 输出:  Hello   
print(&#39;{:<10}&#39;.format(text))  # 左对齐输出,总宽度为10
# 输出:Hello
  • 使用格式化字符串(Python 3.6及以上版本)

name = &#39;John&#39;
age = 25
print(f&#39;My name is {name}, and I am {age} years old.&#39;)
# 输出:My name is John, and I am 25 years old.
  • 使用字典传递变量

person = {&#39;name&#39;: &#39;John&#39;, &#39;age&#39;: 25}
print(&#39;My name is {name}, and I am {age} years old.&#39;.format(**person))
# 输出:My name is John, and I am 25 years old.
  • 使用下标操作符获取列表中的元素

fruits = [&#39;apple&#39;, &#39;banana&#39;, &#39;cherry&#39;]
print(&#39;My favorite fruit is {0[1]}&#39;.format(fruits))
# 输出:My favorite fruit is banana
  • 使用花括号转义

print(&#39;{{Hello}}&#39;.format())  # 输出:{Hello}
  • 使用冒号分隔格式字符串和变量名称,对变量进行进一步格式化

name = &#39;John&#39;
score = 95
print(&#39;Student: {0:&lt;10} Score: {1:.2f}&#39;.format(name, score))
# 输出:Student: John       Score: 95.00
  • 根据变量类型自动选择格式

x = 42
y = 3.14
print(&#39;x is {!r}, y is {!s}&#39;.format(x, y))
# 输出:x is 42, y is 3.14
  • 使用填充字符

x = 42
print(&#39;{:0&gt;5}&#39;.format(x))  # 右对齐,用 0 填充,总宽度为 5
# 输出:00042
  • 根据变量类型选择不同的进制输出

x = 42
print(&#39;bin: {0:b}, oct: {0:o}, hex: {0:x}&#39;.format(x))
# 输出:bin: 101010, oct: 52, hex: 2a
  • 自定义格式化函数

def format_salary(salary):
    if salary > 10000:
        return &#39;{:.1f}K&#39;.format(salary / 1000)
    else:
        return &#39;${:,.2f}&#39;.format(salary)
print(format_salary(5000))   # $5,000.00
print(format_salary(15000))  # 15.0K
  • 使用 ** 和 * 进行动态参数传递

data = {&#39;name&#39;: &#39;John&#39;, &#39;age&#39;: 25}
print(&#39;{name} is {age} years old.&#39;.format(**data))  # John is 25 years old.
fruits = [&#39;apple&#39;, &#39;banana&#39;, &#39;cherry&#39;]
print(&#39;My favorite fruits are {}, {} and {}.&#39;.format(*fruits))  # My favorite fruits are apple, banana and cherry.

以上就是Python中的字符串格式化方式:format()函数的使用方法的详细内容,更多请关注其它相关文章!