一、思考❓❔
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推出的新特性,功能極其強大,簡潔明瞭、解析效率非常高,推薦使用