# 1、%格式化符 % 是内置的对字符串进行格式化的格式化符,格式化字符串时,将字符串档做一个模板,
#模板中包含格式化符,这些格式化符为真是的值预留位置,并说明真实的值具体的格式,然后用一个元祖()
#将多个值换递给模板,每个值对应一个格式化符
print ('hello %s, I am %d year old' % ('Lilei', 6))
# 结果: hello Lilei, I am 6 year old
#'hello %s, I am %d year old'为我们的模板。%s为第一个格式符,表示一个字符串,
# %d为第二个格式符,表示一个整数。(Lilei', 6)的两个元素分别替换%s和%d的真实值。
#在模板和tuple之间,有一个%号分隔,它代表了格式化操作
#整个'hello %s, I am %d year old' % ('Lilei', 6)实际上构成一个字符串表达式。
#我们可以像一个正常的字符串那样,将它赋值给某个变量。比如:
a = 'hello %s an %s'%('li','xu')
print(a)
# 结果:hello li and xu
# 2、字典形式
#第一种方法最直接方便,但是有时候,我们有很多的参数要进行格式化,
#一一对应就有点麻烦了,于是就有了第二种,字典形式的,上面那种是tuple(元祖)形式的。
c = "hello %(name)s , i am %(age)d year old" %{'name':'li' ,'age':5}
print(c)
# 结果:hello li , i am 5 year old
# 3、str.format()函数
# 基本语法是通过 {} 和 : 来代替以前的 % 。
# format 函数可以接受不限个参数,位置可以不按顺序。实例:
a = '{} {}'.format('hello','world') # 不设定指定位置,按照顺序填充元素
print(a)
# 结果:hello world
a = '{0},{1}'.format('hello','world') # 通过下标指定位置
print(a)
# 结果:hello,world
a = '{0},{1} {0}'.format('hello','world') # 通过下标指定位置
print(a)
# 结果:hello,world hello
print("网站名:{name}, 地址:{url}".format(name= 'python',url = 'www.baidu.com'))
# 结果:网站名:python, 地址:www.baidu.com
# 通过字典设置参数
site = {"name":"python","url":"www.python.com"}
print("网站名: {name}, 地址:{url}".format(**site))
#结果:网站名: python, 地址:www.python.com
# 通过列表索引设置参数
list = ['python','www.qq.com']
print('网站名:{0[1]},地址:{0[0]}'.format(list)) # 0 是必须的参数
#结果:网站名:www.qq.com,地址:python
# 4、字符串f‘string' 在字符串前面增加f
name = 'li'
a = f'hello,{name}'
print(a)
# 结果:hello,li
# f 后可以接任何表达式
a =10
b =5
print(f'five plue ten is {a+b},not {2*(a+b)}')
# 结果:five plue ten is 15,not 30
# 定义函数great 入参name city
def great(name,city):
# return返回内容
return f'hello {name},are you from {city}'
# 传入参数并打印
print(great('LI','BJ'))
# 结果:hello LI,are you from BJ
字符串的格式化形式
最新推荐文章于 2022-10-13 08:55:35 发布
本文详细介绍了Python中字符串格式化的三种方法:%符号格式化、字典格式化以及str.format()函数。通过实例展示了如何使用这些方法进行字符串模板的创建与填充,包括位置匹配、字典映射以及灵活的参数指定方式。此外,还提到了f-string的使用,这是一种更现代的字符串格式化方式,可以直接在字符串中嵌入表达式。
摘要由CSDN通过智能技术生成