一、思考❓❔
1.什么是字符串格式化?
- 将变量(对象)的值填充到字符串中
- 在字符串中解析Python表达式
- 对字符串进行格式化显示
- 左对齐、右对齐、居中对齐
- 保留数字有效位数
2.你学过的字符串格式化方式有哪些?
- % 字符串格式化
- format字符串格式化
- F字符串
二、% 字符串格式化操作??
1.使用变量来替换字符串中的%s
name = "可优" lover = "柠檬小姐姐" print("%s爱上了%s!" %(name, lover)) # 变量name与lover会以一一对应的形式来填充%s
程序运行结果:
可优爱上了柠檬小姐姐!
2.保留数字有效位数
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字符串格式化操作??
1.在字符串中解析变量
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 爱人: 柠檬小姐姐
五、作业挑战??
1.使用format字符串格式化方法,获取对象的属性,将其填充到字符串中
2.使用F字符串,获取对象的属性,将其填充到字符串中
六、总结??
- Python中字符串格式化方法很多,最常用的就是本文提到的三种方法
- %为Python 2中主导的字符串格式化方式,功能偏弱
- format字符串格式化方法相比%更加强大,使用场景也更多
- F字符串是Python 3.6推出的新特性,功能极其强大,简洁明了、解析效率非常高,推荐使用
欢迎来到testingpai.com!
注册 关于