Python字符串格式化-學這些就夠用了

一、思考❓❔

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推出的新特性,功能極其強大,簡潔明瞭、解析效率非常高,推薦使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章