在 Python 中,我們經常會遇到字符串格式化的問題,比如需要將一些變量和常量格式化為一個標準的字符串輸出。Python 提供了很多實現字符串格式化的方式,其中 % 是比較常用的一種,本篇文章就為你詳細介紹Python 中 % 的用法。
一、 % 的基本用法
在 Python 中,我們可以使用 % 完成字符串的格式化,具體格式如下:
string % values
其中,string 是一個字符串模板,values 是一個 tuple 或者 dict 集合,它們提供了格式化所需要的實際值。
下面是一個簡單的例子,展示了如何使用 % 格式化字符串:
name = 'Python'
age = 27
print("Hello, my name is %s, and I'm %d years old." % (name, age))
運行代碼會輸出如下內容:
Hello, my name is Python, and I'm 27 years old.
在這個例子中,%s 和 %d 是字符串模板,表示在這個位置分別填充一個字符串和整數,字符串模板可以使用的佔位符種類還有很多,下面就來詳細介紹。
二、% 的詳細用法
1. 字符串模板
%s 表示佔位符,用於表示字符串類型的數據。下面是一個例子:
name = 'Python'
print("Hello, my name is %s." % name)
輸出:
Hello, my name is Python.
如上代碼所示,%s 佔位符可以匹配任何的字符串類型數據,包括 str、bytes、bytearray、memoryview 和其他自定義類型。
2. 整數類型
%d 表示十進制整數類型,也可以表示其他進制的數字,只需要在佔位符前加上數值即可,例如:
num = 100
print("Value is %d." % num)
print("Value is 0x%x." % num)
print("Value is 0o%o." % num)
print("Value is 0b%b." % num)
輸出:
Value is 100.
Value is 0x64.
Value is 0o144.
Value is 0b1100100.
3. 浮點數類型
浮點數類型可以使用 %f 或者 %e,其中 %f 表示定點數類型,%e 表示指數類型:
pi = 3.1415926
print("Pi is %f." % pi)
print("Pi is %e." % pi)
輸出:
Pi is 3.141593.
Pi is 3.141593e+00.
在使用 %f 格式化浮點數時,可以指定保留小數的位數,例如:
pi = 3.1415926
print("Pi is %.2f." % pi)
輸出:
Pi is 3.14.
4. 其他類型
%r 表示佔位符,用於表示任何數據類型,包括字符串、數字、布爾值、列表、元組和字典等。這個佔位符可以調用 str() 函數或者 repr() 函數來獲取對應的字符串形式。
%c 表示佔位符,用於表示字符類型的數據。例如:
print("The ASCII code of %c is %d." % ('A', ord('A')))
輸出:
The ASCII code of A is 65.
三、 % 的高級用法
在上面我們介紹了 % 最基本的用法,但是在實際的開發工作中,我們還經常會使用到 % 的高級用法,包括以下三個方面:
1. 字典
在使用字典作為佔位符的時候,我們需要使用 %()s 的格式,其中括號內的字段名就是字典的鍵值。例如:
data = {"name": "Python", "version": "3.9", "year": 1991}
print("Language: %(name)s, Version: %(version)s, Year: %(year)d." % data)
輸出:
Language: Python, Version: 3.9, Year: 1991.
2. 元組
在使用元組作為佔位符的時候,我們需要使用 %s、%d 等基本佔位符,並在佔位符前加上格式化字符串,例如:
pi = 3.1415926
print("Pi is %.2f." % (pi,))
輸出:
Pi is 3.14.
3. 對象
在使用對象作為佔位符的時候,我們需要重載對象的 __str__ 方法或者 __repr__ 方法,返回需要輸出的字符串形式,例如:
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return "" % (self.name, self.age)
person = Person("Python", 27)
print("Person: %s." % person)
輸出:
Person: <Person: name=Python, age=27>.
四、小結
通過本篇文章的學習,我們了解了 Python 中最常用的字符串格式化方式 – % 的用法。我們詳細介紹了 % 的基本用法和高級用法,包括字符串模板、整數類型、浮點數類型、其他類型,以及字典、元組和對象佔位符的使用方式。
原創文章,作者:HGGN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132898.html
微信掃一掃
支付寶掃一掃