python字符串格式化方式解析
作者:Primrose 发布时间:2021-06-22 14:01:46
标签:python,字符串,格式化
1.%格式符
name = '李四'
age = 18
a = "姓名:%s,年龄:%s"%(name,age)
print(a) #姓名:李四,年龄:18
b = "%(name)s,%(age)s"%{'name':'张三','age':18}
print(b) #张三,18
这种格式化并不是很好,因为它很冗长并且容易导致错误,比如没有正确显示元组或字典
2.str.format()
name = '李四'
age = 18
# 替换字段用大括号进行标记
a1 = "hello, {}. you are {}?".format(name,age)
print(a1) #hello, 李四. you are 18?
# 通过索引来以其他顺序引用变量
a2 = "hello, {1}. you are {0}?".format(age,name)
print(a2) #hello, 李四. you are 18?
# 通过参数来以其他顺序引用变量
a3 = "hello, {name}. you are {age1}?".format(age1=age,name=name)
print(a3) #hello, 李四. you are 18?
# 从字典中读取数据时还可以使用 **
data = {"name":"张三","age":18}
a4 = "hello, {name}. you are {age}?".format(**data)
print(a4) #hello, 李四. you are 18?
在处理多个参数和更长的字符串时仍然可能非常冗长
3.f-Strings
f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。
name = '李四'
age = 18
# F 和 f 的简单使用
b1 = f"hello, {name}. you are {age}?"
b2 = F"hello, {name}. you are {age}?"
print(b1) # hello, 李四. you are 18?
print(b2) # hello, 李四. you are 18?
# 字典也可以
teacher = {'name': 'meet', 'age': 18}
msg = f"The teacher is {teacher['name']}, aged {teacher['age']}"
print(msg) # The comedian is meet, aged 18
# 列表也行
l1 = ['meet', 18]
msg = f'姓名:{l1[0]},年龄:{l1[1]}.'
print(msg) # 姓名:meet,年龄:18.
#可以插入表达式
def sum_a_b(a,b):
return a + b
a = 1
b = 2
print('求和的结果为' + f'{sum_a_b(a,b)}')
#多行f 反斜杠
name = 'barry'
age = 18
ajd = 'handsome'
speaker = f'Hi {name}.'\
f'You are {age} years old.'\
f'You are a {ajd} guy!'
print(speaker) #Hi barry.You are 18 years old.You are a handsome guy!
print(f"{You are very \"handsome\"}") #报错
#括号的处理 -->重点:两对为一组
print(f"{{73}}") # {73}
print(f"{{{73}}}") # {73}
print(f"{{{{73}}}}") # {{73}}
m = 21
# ! , : { } ;这些标点不能出现在{} 这里面。
# print(f'{;12}') # 报错
# 所以使用lambda 表达式会出现一些问题。
# 解决方式:可将lambda嵌套在圆括号里面解决此问题。
x = 5
print(f'{(lambda x: x*2) (x)}') # 10
来源:https://www.cnblogs.com/lilinyuan5474/p/11700812.html
0
投稿
猜你喜欢
- 问题:pycharm无法调用pip安装的包原因:pycharm没有设置解析器解决方法:打开pycharm->File->Sett
- 为了应用方便,您可能需要给数据库的每条记录都添加日期/时间戳,以便确定各个记录添加到数据库的时间。在Access数据库应用中,使用Now()
- 随机显示图片代码:<div class="sidebarcen"><script language=&
- 本文将展示一个开源JavaScript库,该脚本库给AJAX应用程序带来了书签和后退按钮支持。在学习完这个教程后,开发人员将能够获得对一个A
- 首先来看,ASP读取ACCESS数据库。代码如下:<% @language="VBScript"&nbs
- 由于opencv读入图片数据类型是uint8类型,直接加减会导致数据溢出现象(1)用Numpy操作可以先将图片数据类型转换成int类型进行计
- 如何使用ADO 2x Command 对象读取数据?具体的读数据代码如下:Cmd = CType(EC.Example1
- ASP+XML制作菜单管理!menu.asp 这个是前台执行部分<% '----------------
- 阅读前:Pro Javascript Techniques翻译连载说明和目录JavaScript的演化是渐进而稳固的。历经过去十年的进程,J
- 从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论。事实上,或许所有人都知道
- 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。以下文章来源于数据STUDIO,作者龙哥
- 上一篇文章Python中schedule模块关于定时任务使用方法1 设置时间间隔随机数在有一些场景下,为了模拟比较自然的情景,需要采用随机的
- 目录利用python反转图片/视频安装库反转效果实现代码项目地址利用python反转图片/视频准备:一张图片/一段视频python库:Pil
- 先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下:SELECT TOP 页
- 在html 5增加了新元素header、footer,测试过发现IE不能解析html 5新增的元素。代码如下:<!DOCTYPE&nb
- flask响应错误处理及errorhandler应用@app.errorhandler(404)def page_not_found(err
- 1、线程池模块引入from concurrent.futures import ThreadPoolExecutor2、使用线程池一个简单的
- 前言一般js破解有两种方法,一种是用Python重写js逻辑,一种是利用第三方库来调用js内容获取结果。这两种方法各有利弊,第一种方法性能好
- 能评估使用方法性能评估模块提供了一系列用于模型性能评估的函数,这些函数在模型编译时由metrics关键字设置性能评估函数类似与目标函数, 只
- python序列类型包括哪三种python序列类型包括:列表、元组、字典列表:有序可变序列创建:userlist = [1,2,3,4,5,