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学习资料
Feb 08 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
python实现excel读写数据
Mar 02 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
python实现图片批量压缩程序
Jul 23 Python
python实现简单多人聊天室
Dec 11 Python
Python进阶:生成器 懒人版本的迭代器详解
Jun 29 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
利用Python的sympy包求解一元三次方程示例
Nov 22 Python
python自动点赞功能的实现思路
Feb 26 Python
Keras loss函数剖析
Jul 06 Python
Pytorch 如何实现常用正则化
May 27 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安全技术之 实现php基本安全
2010/09/04 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
Django和Flask框架优缺点对比
2019/10/24 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
小结Python的反射机制
2020/09/28 Python
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
RealTek面试题
2016/06/28 面试题
数控技术专业推荐信
2013/11/01 职场文书
经理职责范文
2013/11/08 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
团队经理竞聘书
2014/03/31 职场文书
法学自荐信
2014/06/20 职场文书
党员个人对照检查材料
2014/10/01 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
服务行业标语口号
2015/12/26 职场文书
如何写好开幕词?
2019/06/24 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
python套接字socket通信
2022/04/01 Python