%在Python中的用法
在Python中,%是一個多功能的操作符,可以用于格式化字符串、計算余數等多種操作。我們將重點介紹%在Python中的字符串格式化用法。
字符串格式化
字符串格式化是指將變量的值插入到字符串中指定的位置,以生成新的字符串。在Python中,我們可以使用%操作符來進行字符串格式化。具體用法如下:
string % values
其中,string是一個包含格式化標志的字符串,values是一個或多個用于替換格式化標志的值。下面是一個簡單的例子:

name = "Alice"age = 25print("%s is %d years old." % (name, age))
輸出結果為:
Alice is 25 years old.
在這個例子中,%s和%d是格式化標志,分別表示字符串和整數。%后面的括號中的變量name和age分別替換%s和%d。
格式化標志
在字符串中,我們可以使用不同的格式化標志來指定不同類型的變量。下面是一些常用的格式化標志:
| 標志 | 描述 |
| --- | --- |
| %s | 字符串(采用str()的顯示) |
| %r | 字符串(采用repr()的顯示) |
| %c | 單個字符 |
| %b | 二進制整數 |
| %d | 十進制整數 |
| %i | 十進制整數 |
| %o | 八進制整數 |
| %x | 十六進制整數(小寫字母) |
| %X | 十六進制整數(大寫字母) |
| %e | 指數(小寫'e') |
| %E | 指數(大寫'E') |
| %f | 浮點數 |
| %F | 浮點數,與%f相同 |
| %g | 指數(e)或浮點數(根據顯示長度) |
| %G | 指數(E)或浮點數(根據顯示長度) |
| %% | 字符“%”本身 |
在使用格式化標志時,我們需要注意以下幾點:
1. 格式化標志必須出現在格式化字符串中,用%表示。
2. 如果需要格式化多個變量,需要將它們放在一個元組中,用括號括起來。
3. 如果需要格式化的變量是一個字典,可以使用%()的形式,將字典作為參數傳入。
下面是一個使用不同格式化標志的例子:
print("My name is %s and I am %d years old. My favorite color is %r." % ("Bob", 30, "blue"))print("The value of pi is approximately %f." % 3.141592653589793)print("The value of pi is approximately %10.3f." % 3.141592653589793)print("The value of 100 in binary is %s." % bin(100))print("The value of 100 in octal is %s." % oct(100))print("The value of 100 in hexadecimal is %s." % hex(100))
輸出結果為:
My name is Bob and I am 30 years old. My favorite color is 'blue'.The value of pi is approximately 3.141593.The value of pi is approximately 3.142.The value of 100 in binary is 0b1100100.The value of 100 in octal is 0o144.The value of 100 in hexadecimal is 0x64.
問答
1. %在Python中還有哪些用法?
除了字符串格式化外,%在Python中還可以用于計算余數。例如:
print(10 % 3)
輸出結果為:
2. Python中還有哪些字符串格式化的方法?
除了%操作符外,Python中還可以使用字符串的format()方法進行字符串格式化。例如:
name = "Alice"
age = 25
print("{} is {} years old.".format(name, age))
輸出結果為:
Alice is 25 years old.
3. %操作符和format()方法有什么區別?
%操作符和format()方法的功能基本相同,都可以用于字符串格式化。不同之處在于,%操作符是一個運算符,而format()方法是一個字符串對象的方法。在使用上,%操作符需要在格式化字符串中使用格式化標志,而format()方法則需要在花括號中使用位置或關鍵字參數。
4. 在Python中如何進行多行字符串的格式化?
在Python中,我們可以使用三重引號來定義多行字符串。例如:
text = """
My name is {name}.
I am {age} years old.
My favorite color is {color}.
"""
print(text.format(name="Alice", age=25, color="blue"))
輸出結果為:
My name is Alice.
I am 25 years old.
My favorite color is blue.
在這個例子中,我們使用三重引號定義了一個多行字符串。在使用format()方法進行格式化時,我們可以在花括號中使用關鍵字參數來指定變量的值。