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