python字符串格式化方式解析


Posted in Python onOctober 19, 2019

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
python list排序的两种方法及实例讲解
Mar 20 Python
Python中音频处理库pydub的使用教程
Jun 07 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
Django Rest framework之权限的实现示例
Dec 17 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python日期相关操作实例小结
Jun 24 Python
Python+threading模块对单个接口进行并发测试
Jun 25 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
使用Python将语音转换为文本的方法
Aug 10 Python
基于python3监控服务器状态进行邮件报警
Oct 19 #Python
使用python绘制温度变化雷达图
Oct 18 #Python
详解numpy矩阵的创建与数据类型
Oct 18 #Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 #Python
详解pyinstaller selenium python3 chrome打包问题
Oct 18 #Python
python如何将两个txt文件内容合并
Oct 18 #Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 #Python
You might like
星际争霸任务指南——虫族
2020/03/04 星际争霸
实现“上一页”和“下一页按钮
2006/10/09 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
Javascript----文件操作
2007/01/18 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
python 调用c语言函数的方法
2017/09/29 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python 三元运算符使用解析
2019/09/16 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
汇报材料怎么写
2014/12/30 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
python实现简单的名片管理系统
2021/04/26 Python
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android