一、基本概念
字符串格式化指的是把一組值按照指定格式進行轉換成字符串的過程,常用的方式有“%”和“format()”兩種。其中,“%”方式最為常用,而且與C語言的格式化輸出功能相似。
格式化字符串的基本語法是:字符串 % 值,其中,字符串中的格式化規則以“%”(模板)字符開頭,後面跟着一個或多個格式化字符,表示格式化的方式,最終的結果是將格式化字符和值進行替換。
二、%方式的使用
1、字符串、整數、浮點數、布爾值等的使用
# 字符串格式化
name = "Alice"
print("Hello, %s!" % name)
# 整數格式化
number = 34
print("Your lucky number is %d." % number)
# 浮點數格式化
pi = 3.1415926
print("Pi is approximately %f." % pi)
# 布爾值格式化
flag = False
print("The answer is %s." % flag)
2、大小寫、千位分隔符、進制等的使用
# 大小寫
s = "world"
print("Hello, %s!" % s.upper())
print("Hello, %s!" % s.capitalize())
print("Hello, %s!" % s.title())
# 千位分隔符
number = 1000000
print("The population of the city is %d." % number)
print("The population of the city is %,d." % number)
# 進制
number = 10
print("The decimal number is %d." % number)
print("The binary number is 0b%02x." % number)
print("The hexadecimal number is 0x%02x." % number)
三、format()方式的使用
1、基本用法
# 使用位置參數
print("The first letter in {0} is {0[0]}.".format("Python"))
# 使用關鍵字參數
print("The temperature of the {city} is {temp} degrees Celsius.".format(city="Beijing", temp=27))
# 使用屬性字段
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 22)
print("My name is {0.name}, and I am {0.age} years old.".format(p))
2、填充、對齊和寬度
s = "apple"
print("|{:>10}|".format(s)) # 右對齊
print("|{:<10}|".format(s)) # 左對齊
print("|{:^10}|".format(s)) # 居中對齊
# 填充
print("|{:*^10}|".format(s)) # 使用*進行填充
print("|{:*^10.2f}|".format(3.14159)) # 小數點位數為2
# 寬度
print("|{0:10}|{1:5}|".format("Name", "Age"))
print("|{0:10}|{1:5d}|".format("Tom", 22))
print("|{0:10}|{1:5d}|".format("Jerry", 25))
四、f-string方式的使用
f-string是Python3.6新增的一種字符串格式化方式,它簡單易用,可以把表達式直接嵌入到字符串中。
1、使用方法
name = "Alice"
print(f"Hello, {name}!")
age = 22
print(f"I am {age} years old.")
pi = 3.1415926
print(f"Pi is approximately {pi:.2f}.")
2、支持運算、函數調用等
print(f"3 + 4 = {3 + 4}.")
print(f"The first letter in {'Python'.upper()} is {'Python'[0]}.")
def greet(name):
return f"Hello, {name}!"
print(greet("Bob"))
五、總結
Python字符串格式化是Python中常用的一種字符串處理方式,可以使用“%”、“format()”和f-string方式進行。其中,“%”方式最為常用,適用於大多數格式化場景,還支持C語言模板字符串和格式化標誌;“format()”方式則更加靈活,支持位置參數、關鍵字參數、屬性字段、填充和對齊等功能;而f-string則是Python3.6新增的一種字符串格式化方式,簡單易用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/197302.html
微信掃一掃
支付寶掃一掃