python学习——格式化字符串

部署运行你感兴趣的模型镜像

在Python中,格式化字符串是一种将变量插入到字符串中的方法,使得字符串的构建更为灵活和方便。以下是一些常见的格式化字符串的方法:
在这里插入图片描述

1. 使用百分号 % 格式化

这是最传统的方法,类似于C语言中的printf。

name = "Alice"
age = 30
print("My name is %s and I am %d years old." % (name, age))

这里的 %s 是一个占位符,用于插入字符串,而 %d 用于插入整数。

2. 使用 str.format() 方法

Python 2.6+ 引入了 str.format() 方法,它提供了一种更灵活的格式化字符串的方式。

name = "Bob"
age = 25
print("My name is {} and I am {} years old.".format(name, age))

你还可以使用索引来指定参数的顺序:

print("My name is {1} and I am {0} years old.".format(age, name))

或者使用关键字参数:

print("My name is {name} and I am {age} years old.".format(name="Charlie", age=35))

3. 使用 f-string (格式化字符串字面量)

Python 3.6+ 引入了 f-string,它提供了一种更简洁、更直观的方式来格式化字符串。

name = "David"
age = 40
print(f"My name is {name} and I am {age} years old.")

在 f-string 中,你可以直接在 {} 中放入表达式,甚至是函数调用:

print(f"My name is {name.upper()} and next year I will be {age + 1}.")

格式说明符

在以上所有方法中,你都可以使用格式说明符来进一步定义格式化输出的方式:

  • <填充><对齐><宽度><,><.精度><类型>
    例如:
  • {:.2f}:保留两位小数的浮点数
  • {:^20}:居中对齐,宽度为20的字符串
  • {:0>10}:右对齐,宽度为10,左边用0填充的字符串
  • {:,}:数字使用逗号作为千位分隔符
number = 1234567.8910
print(f"The number is {number:.2f}")
print(f"The number is {number:20,.2f}")
print(f"The string is {name:^20}")
print(f"The string is {name:0>10}")

以上就是Python中格式化字符串的几种方法,每种方法都有其适用的场景,你可以根据需要选择最适合的一种。在最新的Python代码中,f-string由于其简洁和直观性,通常是首选的格式化方法。

实操

# (1)使用占位符进行格式化
name = '马冬梅'
age = 18
score = 98.5
print('姓名:%s,%d年龄:,成绩:%.1f' % (name, age, score))

# (2)f-string
print(f'姓名:{name},年龄:{age},成绩:{score}')

# (3)使用字符串的format方法
print('姓名:{0},年龄:{1},成绩:{2}'.format(name, age, score))
print('姓名:{2},年龄:{0},成绩:{1}'.format(age, score,name))

字符串format方法格式控制

在这里插入图片描述

实操

s = 'helloworld'
print('{0:*<20}'.format(s))  # 字符串的显示宽度为20,左对齐,空白不凡使用*号填充
print('{0:*>20}'.format(s))  # 字符串的显示宽度为20,右对齐,空白不凡使用*号填充
print('{0:*^20}'.format(s))  # 字符串的显示宽度为20,居中对齐,空白不凡使用*号填充

# 法2的居中对齐
print(s.center(20, '*'))

# 千位分隔符(仅适用于整数和浮点数)
print('{0:,}'.format(987654321))
print('{0:,}'.format(987654321.98765))

# 浮点数小数部分的精度
print('{0:.2f}'.format(3.1415926535))
# 如果是字符串类型则是最大的显示长度
print('{0:.5}'.format(s))

# 整数类型,进制转换
a = 425
print('二进制:{0:b},十进制:{0:d},八进制:{0:o},十六进制:{0:x}'.format(a))

# 浮点类型
b = 3.1415926535
print('{0:.2f},{0:.2E},{0:.2e},{0:.2%}'.format(b))


您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qhumaing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值