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实现探测socket和web服务示例
Mar 28 Python
python根据日期返回星期几的方法
Jul 06 Python
详解Python的Lambda函数与排序
Oct 25 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
理解python中生成器用法
Dec 20 Python
python代码实现ID3决策树算法
Dec 20 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
解决keras backend 越跑越慢问题
Jun 18 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
php巧获服务器端信息
2006/12/06 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
[原创]图片分页查看
2006/08/28 Javascript
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
python写的ARP攻击代码实例
2014/06/04 Python
Python3 replace()函数使用方法
2018/03/19 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
期末自我鉴定
2014/01/23 职场文书
运动会广播稿80字
2014/01/23 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
安全口号大全
2014/06/21 职场文书
高中同学会致辞
2015/08/01 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
移除Selenium中window.navigator.webdriver值
2022/06/10 Python