python中三种常用格式化字符串的方法(%s, format,f-string)

前言

  python中对字符串格式化是最常见的操作,对字符串格式化一般有三种方法,即%s,formatf-string。因人而异,每个人使用的格式化方法不同,为了在不同场景更高效的使用格式化方法,以及阅读别人的代码,通常三种格式化方法都要学会,不过这个知识点比较简单,容易学。

一 %s格式化字符串

  %spython在2.x版本用来格式化字符串的方法,不过到现在也还兼容。具体使用细节如下。

  • %s格式化字符串语法

%s 在字符串内作为占位符,然后通过传参格式化字符串

print("my name is %s,from %s" % (name, city))
  • %s格式化示例
    位置传参格式化
name = "zhangsan"
city = "shenzheng"
print("my name is %s,from %s" % (name, city))
>>>
my name is zhangsan,from shenzheng

当然也可以用变量传参格式化

name = "zhangsan"
city = "shenzheng"
#位置传参格式化
print("my name is %s,from %s" % (name, city))
#变量传参格式化
print("my name is %(name)s,from %(city)s" % {"city": "shenzheng", "name": "zhangsan"})
>>>
my name is zhangsan,from shenzheng
my name is zhangsan,from shenzheng

二 format格式化字符串

  在python 3.0 版本中python 引入了format来规范格式化字符串,用一对花括号{}替代%s作为占位符,如下。

  • format格式化字符串语法

使用{}在字符串内作为占位符,通过调用format方法格式化

 print("my name is {},from {}".format(name, city))
  • format格式化示例
    format同样支持位置参数格式化和变量格式化
name = "zhangsan"
city = "shenzheng"
#位置传参
print("my name is {},from {}".format(name, city))
#变量传参
print("my name is {city},from {name}".format(name=name, city=city))
>>>
my name is zhangsan,from shenzheng
my name is shenzheng,from zhangsan

三 f-string格式化字符串

  在python 3.6版本中引入了f-string来格式化字符串。相比%s, formatf-string更加简洁优雅,效率和功能也更高更强,具体如下。

  • f-string格式化字符串语法

需要在字符串前面加一个f,用{}作为位置占位符

print(f"my name is {name},from {city}")
  • f-string格式化字符串示例
#变量格式化
print(f"my name is {name},from {city}")
>>>
my name is zhangsan,from shenzheng
  • f-string计算表达式和函数调用
    f-string可以直接计算表达式和调用函数,这个功能真的很nice。
import time
#f-string直接计算表达式,调用函数
def getTime():
    #获取当前时间
    time = datetime.datetime.today()
    return time
#直接调用函数
print(f"当前时间为: {getTime()}")
#计算表达式
print(f"九乘九:9 * 9 = {9*9}")
当前时间为: 2024-01-21 18:28:45.848078
九乘九:9 * 9 = 81

四 总结

  python格式化字符串常见的就是上面的三种,其中f-string相比于%s,format来说更加简洁优雅,功能也更强。虽然出了f-string, 但是python现在的版本也还都支持%s和format,具体使用哪种因人而异,不过我更推荐f-string

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python字符串格式化可以使用三种方式: 1. 百分号(%)格式化字符串 这是Python早期版本使用的一种格式化字符串的方式,类似于C语言的printf函数。它的基本语法为: ```python string % value ``` 其string是要格式化字符串,value是要替换的值。可以使用占位符来指定要替换的值的类型和格式,例如: - %s:字符串 - %d:整数 - %f:浮点数 例如,将一个字符串的占位符替换为指定的值: ```python name = "Alice" age = 20 height = 1.65 info = "My name is %s, I'm %d years old, and my height is %.2f meters." % (name, age, height) print(info) ``` 输出结果为:My name is Alice, I'm 20 years old, and my height is 1.65 meters. 2. format()方法格式化字符串 这是Python推荐使用的一种格式化字符串的方式,它的基本语法为: ```python string.format(value1, value2, ...) ``` 其string是要格式化字符串,value1、value2等是要替换的值。可以使用占位符{}来指定要替换的值的类型和格式,例如: - {}:自动编号 - {0}、{1}:手动编号 - {:s}:字符串 - {:d}:整数 - {:.2f}:浮点数 例如,将一个字符串的占位符替换为指定的值: ```python name = "Alice" age = 20 height = 1.65 info = "My name is {}, I'm {} years old, and my height is {:.2f} meters.".format(name, age, height) print(info) ``` 输出结果为:My name is Alice, I'm 20 years old, and my height is 1.65 meters. 3. f-string格式化字符串 这是Python 3.6及以上版本新增的一种格式化字符串的方式,它的基本语法为: ```python f"string {value}" ``` 其string是要格式化字符串,value是要替换的值。可以在占位符使用表达式来计算要替换的值,例如: - {expression}:表达式 - {name}:变量名 例如,将一个字符串的占位符替换为指定的值: ```python name = "Alice" age = 20 height = 1.65 info = f"My name is {name}, I'm {age} years old, and my height is {height:.2f} meters." print(info) ``` 输出结果为:My name is Alice, I'm 20 years old, and my height is 1.65 meters.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值