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

编辑: admin 分类: python 发布时间: 2023-05-01 来源:互联网

变量插入字符串的方法

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('{:<10}'.format(text))  # 左对齐输出,总宽度为10
# 输出:Hello
登录后复制
  • 使用格式化字符串(Python 3.6及以上版本)

name = 'John'
age = 25
print(f'My name is {name}, and I am {age} years old.')
# 输出:My name is John, and I am 25 years old.
登录后复制
  • 使用字典传递变量

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

fruits = ['apple', 'banana', 'cherry']
print('My favorite fruit is {0[1]}'.format(fruits))
# 输出:My favorite fruit is banana
登录后复制
  • 使用花括号转义

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

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

x = 42
y = 3.14
print('x is {!r}, y is {!s}'.format(x, y))
# 输出:x is 42, y is 3.14
登录后复制
  • 使用填充字符

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

x = 42
print('bin: {0:b}, oct: {0:o}, hex: {0:x}'.format(x))
# 输出:bin: 101010, oct: 52, hex: 2a
登录后复制
  • 自定义格式化函数

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

data = {'name': 'John', 'age': 25}
print('{name} is {age} years old.'.format(**data))  # John is 25 years old.
fruits = ['apple', 'banana', 'cherry']
print('My favorite fruits are {}, {} and {}.'.format(*fruits))  # My favorite fruits are apple, banana and cherry.
登录后复制

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

【文章转自阿里云代理 http://www.558idc.com/aliyun.html 欢迎留下您的宝贵建议】