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正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
Python3基础之输入和输出实例分析
Aug 18 Python
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
Python中利用原始套接字进行网络编程的示例
May 04 Python
Python遍历目录中的所有文件的方法
Jul 08 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
python简单的三元一次方程求解实例
Apr 02 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
python 递归相关知识总结
Mar 03 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
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
索趣科技的答案
2007/02/07 Javascript
Web开发之JavaScript
2012/03/29 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
js实现div色块碰撞
2020/01/16 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
python的unittest测试类代码实例
2017/12/07 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
django Serializer序列化使用方法详解
2018/10/16 Python
pycharm新建一个python工程步骤
2019/07/16 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
个人作风剖析材料
2014/02/02 职场文书
小学生读书感言
2014/02/12 职场文书
世界读书日的活动方案
2014/08/20 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
人工作失职检讨书
2015/05/05 职场文书
签字仪式主持词
2015/07/03 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
如何通过cmd 连接阿里云服务器
2022/04/18 Servers