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 = 1b = 2print(f'结果为{func(a,b)}')

(左右滑动查看完整代码)



'''使用lambda匿名函数,可以做复杂的数值计算
注意:! , : { } ; \ / 这些标点不能出现在{}里面
所以要将lambda嵌套在小括号里面第一个小括号表示的是lambda表达式第二个小括号表示的是给lambda表达式传入的参数'''
# print(f'{;123}') # {}中包含标点,代码会直接报错
i = 1print(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更快,效率更高,所以以后尽量使用此种格式化输出。




相关资源