Python字符串格式化-学这些就够用了

一、思考❓❔

1.什么是字符串格式化?

1640302-20190724113403869-968333155.png

  • 将变量(对象)的值填充到字符串中
  • 在字符串中解析Python表达式
  • 对字符串进行格式化显示
    • 左对齐、右对齐、居中对齐
    • 保留数字有效位数


2.你学过的字符串格式化方式有哪些?

1640302-20190724113424386-1244706843.png

  • % 字符串格式化
  • format字符串格式化
  • F字符串



二、% 字符串格式化操作??

1.使用变量来替换字符串中的%s
name = "可优"
lover = "柠檬小姐姐"
print("%s爱上了%s!" %(name, lover))    # 变量name与lover会以一一对应的形式来填充%s

程序运行结果:

可优爱上了柠檬小姐姐!


2.保留数字有效位数

1640302-20190724113453186-1726460781.png

pi = 3.14159265359
print("圆周率(%.5f)有多长,爱你就有多深!" %(pi, ))  # 将浮点类型的变量,保留5位小数

程序运行结果:

圆周率(3.14159)有多长,爱你就有多深!



三、format字符串格式化操作??

1.使用变量来替换字符串中的{}
name = "可优"
lover = "柠檬小姐姐"
print("{}爱上了{}!".format(name, lover))   # 变量name与lover会以一一对应的形式来{}

程序运行结果:

可优爱上了柠檬小姐姐!


2.保留数字有效位数
pi = 3.14159265359
print("圆周率({:.5f})有多长,爱你就有多深!".format(pi, )) # 将浮点类型的变量,保留5位小数 

程序运行结果:

圆周率(3.14159)有多长,爱你就有多深!


3.字符串对齐
# ^为居中对齐,20为总的字符数
# “【爱的誓言】”先居中对齐,左右两侧使用?符号来填充
print("{:?^20}".format("【爱的誓言】"))

程序运行结果:

???????【爱的誓言】???????


4.其他用法
self_info = {"name": "可优", "age": 17, "lover": "柠檬小姐姐"}
# 将self_info字典类型拆包之后,填充指定的{}
# <为左对齐,6为总的字符数
# 左侧使用?来填充
print("姓名: {name:?<6}\n芳年: {age:?<6}\n爱人: {lover:?<6}".format(**self_info))

程序运行结果:

姓名: 可优????
芳年: 17????
爱人: 柠檬小姐姐?



四、F字符串格式化操作??

1640302-20190724113521390-1268941450.png

1.在字符串中解析变量

1640302-20190724113536526-890839563.jpg

name = "可优"
lover = "柠檬小姐姐"
# 在字符串前面添加一个f之后,即为f字符串,可以在字符串中解析变量
print(f"{name}爱上了{lover}!")

程序运行结果:

可优爱上了柠檬小姐姐!


2.在字符串中运行Python表达式
import random

love_times = random.randint(0, 100)
name = "可优"
lover = "柠檬小姐姐"
sea = "?"
tortoise = "?"
# 可以在f字符串中,计算Python中的表达式
print(f"{name}对{lover}的爱,犹如滔滔江水绵绵不绝!{sea * 3}\n如果实在要加一个期限的话,我想是{love_times + 10000}年!{tortoise * 3}")

程序运行结果:

可优对柠檬小姐姐的爱,犹如滔滔江水绵绵不绝!???
如果实在要加一个期限的话,我想是10016年!???


3.在字符串中获取字典的值
self_info = {"name": "可优", "age": 17, "lover": "柠檬小姐姐"}
# 在f字符串中,获取字典的值
print(f"姓名: {self_info['name']}\n芳年: {self_info['age']}\n爱人: {self_info['lover']}")

程序运行结果:

姓名: 可优
芳年: 17
爱人: 柠檬小姐姐



五、作业挑战??

1640302-20190724113558692-2810158.png

1.使用format字符串格式化方法,获取对象的属性,将其填充到字符串中


2.使用F字符串,获取对象的属性,将其填充到字符串中



六、总结??

1640302-20190724113620959-847850014.png

  • Python中字符串格式化方法很多,最常用的就是本文提到的三种方法
  • %为Python 2中主导的字符串格式化方式,功能偏弱
  • format字符串格式化方法相比%更加强大,使用场景也更多
  • F字符串是Python 3.6推出的新特性,功能极其强大,简洁明了、解析效率非常高,推荐使用

转载于:https://www.cnblogs.com/keyou1/p/11236982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值