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 相关文章推荐
Python3读取文件常用方法实例分析
May 22 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
django manage.py扩展自定义命令方法
May 27 Python
详解flask入门模板引擎
Jul 18 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
python用requests实现http请求代码实例
Oct 31 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
使用python爬取抖音app视频的实例代码
Dec 01 Python
python中操作文件的模块的方法总结
Feb 04 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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 翻页 实例代码
2009/08/07 PHP
跟我学Laravel之视图 & Response
2014/10/15 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
JS获取父节点方法
2009/08/20 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
python字符串中的单双引
2017/02/16 Python
python高阶爬虫实战分析
2018/07/29 Python
python实现录音功能(可随时停止录音)
2020/10/26 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
学习党课思想汇报
2013/12/29 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
会议主持词通用版
2019/04/02 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
Java实现带图形界面的聊天程序
2022/06/10 Java/Android