python基础 | 格式化输出
发布于 2021-04-17 02:21 ,所属分类:知识学习综合资讯
目录
f-strings
str.format()
%
格式化输出
f-strings
f-string也称为 格式化的字符串文字,是以f 或 F 为前缀的字符串文字。是python3.6开始加入标准库的格式化输出的新写法。
优点:
结构更加简化,易读;
使用方便,可以结合表达式、函数;
效率高。
结构
结构是F(f)+ str的形式。
在字符串中想替换的位置用{}占位,与format类似,但format是在字符串后面写入替换的内容,而f-strings是在{}中写入替换的内容,可以直接识别。
name = 'pamela'
age = 18
# msg = F'{name}, {age}'
msg = f'{name}, {age}' # f 大写 小写都可以
print(msg) # pamela, 18
(左右滑动查看完整代码)
任意表达式
f-string的大括号{}中可以填入任意的表达式,然后将其结果返回到字符串相应的位置,非常方便。
# 数字
print(f'{2*3}') # 6
# 字符串
name = 'pamela'
print(f'全部大写:{name.upper()}') # 全部大写:PAMELA
# 列表
l = ['pamela', 18]
msg = f'姓名:{l[0]}, 年龄:{l[1]}'
print(msg) # 姓名:pamela, 年龄:18
# 字典
dic = {'name': 'pamela', 'age': 18}
msg = f"My name is {dic['name']}, I am {dic['age']} years ago."
print(msg) # My name is pamela, I am 18 years ago.
(左右滑动查看完整代码)
结合函数
f-string的大括号{}中可以调用函数完成相应的功能,然后将函数的返回值返回到字符串相应的位置。
def func(a, b):
return a + b
a = 1
b = 2
print(f'结果为{func(a,b)}')
(左右滑动查看完整代码)
'''
使用lambda匿名函数,可以做复杂的数值计算
注意:! , : { } ; \ / 这些标点不能出现在{}里面
所以要将lambda嵌套在小括号里面
第一个小括号表示的是lambda表达式
第二个小括号表示的是给lambda表达式传入的参数
'''
# print(f'{;123}') # {}中包含标点,代码会直接报错
i = 1
print(f'{(lambda x: x*2) (i)}') # 2
(左右滑动查看完整代码)
多行f
name = 'pamela'
age = 18
# msg = f'''My name is {name}.
# I am {age} years ago.'''
msg = f'My name is {name}.'\
f'I am {age} years ago.'
print(msg)
(左右滑动查看完整代码)
其他
'''
大括号外如果需要显示大括号,应输入连续两个大括号{{ }}
使用三个大括号,字符串中只显示一个大括号
使用三个以上大括号,可以获得更多大括号
'''
print(f"{{123}}") # {123} 使用两个大括号
print(f"{{{123}}}") # {123} 使用三个大括号
print(f"{{{{123}}}}") # {{123}} 使用三个以上大括号
(左右滑动查看完整代码)
str.format() 和 %s
str.format()和%s前面文章中有讲过,可以点击查看:python基础 | 基础初识2
f-string就是在format格式化的基础上做了一些变动,核心使用思想和format一样。f-string的格式化输出更加简洁,方便,易读。而且处理速度比%s和format更快,效率更高,所以以后尽量使用此种格式化输出。
相关资源