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正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
python实现逐个读取txt字符并修改
Dec 24 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
python分布式爬虫中消息队列知识点详解
Nov 26 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
php实现简单四则运算器
2020/11/29 PHP
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
python二叉树遍历的实现方法
2013/11/21 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
Python3 操作符重载方法示例
2017/11/23 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
爱国演讲稿400字
2014/05/07 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
《绝招》教学反思
2016/02/20 职场文书
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
使用Python开发冰球小游戏
2022/04/30 Python
python实现双链表
2022/05/25 Python