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的Django框架与认证系统整合的方法
Jul 24 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python机器学习之随机森林(七)
Mar 26 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
Python实现大数据收集至excel的思路详解
Jan 03 Python
python 通过邮件控制实现远程控制电脑操作
Mar 16 Python
python访问hdfs的操作
Jun 06 Python
如何清空python的变量
Jul 05 Python
python dir函数快速掌握用法技巧
Dec 09 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
php xml文件操作代码(一)
2009/03/20 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Prototype Object对象 学习
2009/07/12 Javascript
javascript动态加载二
2012/08/22 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
深入理解Promise.all
2018/08/08 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
python同步两个文件夹下的内容
2019/08/29 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Python通过len函数返回对象长度
2020/10/22 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
几个Linux面试题笔试题
2016/08/01 面试题
小学后勤管理制度
2014/01/14 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
公司管理制度范本
2015/08/03 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电