一、基本概念
字符串格式化是指將指定的值插入到字符串中的指定位置,以生成最終的字符串。在Python中,字符串格式化採用字符串模板來實現,而字符串模板就是將某些位置標記為佔位符,然後通過相應的參數來填充這些佔位符。
在Python中,字符串格式化主要有兩種方式:
- 使用百分號(%)進行格式化
- 使用.format()函數進行格式化
以下是使用百分號進行格式化的示例代碼:
name = "Alice" age = 20 print("My name is %s, and I'm %d years old." % (name, age))
輸出結果為:
My name is Alice, and I'm 20 years old.
以下是使用.format()函數進行格式化的示例代碼:
name = "Bob" age = 25 print("My name is {}, and I'm {} years old.".format(name, age))
輸出結果為:
My name is Bob, and I'm 25 years old.
二、格式化字符串
在Python 3.6中引入了一種新的字符串格式化方法,即格式化字符串(Formatted String)。格式化字符串允許在字符串前面加上一個‘f’或‘F’來指示這是一個格式化字符串,然後直接在字符串中使用大括號‘{}’來表示佔位符。
以下是使用格式化字符串的示例代碼:
name = "Charlie" age = 30 print(f"My name is {name}, and I'm {age} years old.")
輸出結果為:
My name is Charlie, and I'm 30 years old.
三、佔位符
在字符串格式化中,佔位符(Placeholder)是用來表示需要填充的內容的特殊字符。在Python中,常見的佔位符包括%s、%d、%f等。
1. %s 佔位符
%s佔位符表示字符串,可以接受任意類型的參數。以下是使用%s佔位符的示例代碼:
name = "David" print("My name is %s." % name)
輸出結果為:
My name is David.
2. %d 佔位符
%d佔位符表示整數,以下是使用%d佔位符的示例代碼:
age = 35 print("I'm %d years old." % age)
輸出結果為:
I'm 35 years old.
3. %f 佔位符
%f佔位符表示浮點數,以下是使用%f佔位符的示例代碼:
price = 12.99 print("The price is %f." % price)
輸出結果為:
The price is 12.990000.
如果要控制小數點後的位數,可以在%f之後加上‘.n’,其中‘n’表示小數點後保留的位數。以下是使用%f佔位符控制小數點後2位的示例代碼:
price = 12.99 print("The price is %.2f." % price)
輸出結果為:
The price is 12.99.
四、格式化操作符
在字符串格式化中,格式化操作符(Format Operator)是用來將佔位符與參數進行綁定的符號。在Python中,格式化操作符是一個百分號(%)。
1. %s 格式化操作符
使用%s格式化操作符時,可以將佔位符與任意類型的參數綁定。以下是使用%s格式化操作符的示例代碼:
name = "Emily" print("My name is %s." % name)
輸出結果為:
My name is Emily.
2. %d 格式化操作符
使用%d格式化操作符時,可以將佔位符與整數類型的參數綁定。以下是使用%d格式化操作符的示例代碼:
age = 40 print("I'm %d years old." % age)
輸出結果為:
I'm 40 years old.
3. %f 格式化操作符
使用%f格式化操作符時,可以將佔位符與浮點數類型的參數綁定。以下是使用%f格式化操作符的示例代碼:
price = 9.99 print("The price is %f." % price)
輸出結果為:
The price is 9.990000.
如果要控制小數點後的位數,可以在%f之後加上‘.n’,其中‘n’表示小數點後保留的位數。以下是使用%f格式化操作符控制小數點後2位的示例代碼:
price = 9.99 print("The price is %.2f." % price)
輸出結果為:
The price is 9.99.
五、字符串模板
字符串模板是Python中一種高級的字符串格式化方式,它允許在字符串中使用佔位符,與具體的值綁定時使用大括號{},也支持格式化控制符。
1. 使用位置
使用位置時,通過為format()函數的參數編號來指定要綁定的參數。以下是使用位置的示例代碼:
name = "Frank" age = 45 print("My name is {0}, and I'm {1} years old.".format(name, age))
輸出結果為:
My name is Frank, and I'm 45 years old.
2. 使用關鍵字
使用關鍵字時,可以直接為format()函數的參數指定名稱,而不必依賴於它們的位置。以下是使用關鍵字的示例代碼:
name = "Grace" age = 50 print("My name is {name}, and I'm {age} years old.".format(name=name, age=age))
輸出結果為:
My name is Grace, and I'm 50 years old.
3. 使用字符串模板的簡化寫法
在Python 3.6中,引入了f-string(Formatted String)的新特性,它可以讓字符串模板的格式化操作更加簡單。以下是使用f-string的示例代碼:
name = "Harry" age = 55 print(f"My name is {name}, and I'm {age} years old.")
輸出結果為:
My name is Harry, and I'm 55 years old.
六、總結
字符串格式化是Python中常用的功能之一,Python提供了多種字符串格式化方法,包括使用百分號、format()函數、格式化字符串以及字符串模板等。在使用字符串格式化功能時,我們需要根據實際的需求來選擇不同的格式化方式,並結合掌握不同的佔位符、格式化操作符以及字符串模板的使用方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279180.html