.format是Python中常用的字符串格式化方法,它可以將變量插入到字符串中,從而生成新的字符串。在Python3中,.format已經成為了最主流的字符串格式化方法,取代了早期的%格式化方法。.format方法的基本用法如下:
`python
_x000D_print("My name is {}, I am {} years old.".format("Tom", 25))
_x000D_ _x000D_這段代碼輸出的結果是:
_x000D_ _x000D_My name is Tom, I am 25 years old.
_x000D_ _x000D_在這個例子中,我們使用.format方法將兩個變量插入到字符串中。在字符串中,我們使用一對大括號{}來表示一個占位符,然后在.format方法中傳入對應的變量。在.format方法中,傳入的變量會按照順序依次替換字符串中的占位符。
_x000D_.format方法還支持更多的高級用法,下面我們將逐一介紹。
_x000D_按順序傳入變量
_x000D_在上面的例子中,我們是按照順序依次傳入變量的。如果我們想要傳入的變量不按照順序,可以使用大括號中的數字來指定占位符的位置,如下所示:
_x000D_`python
_x000D_print("My name is {1}, I am {0} years old.".format(25, "Tom"))
_x000D_ _x000D_這段代碼輸出的結果和之前的例子一樣:
_x000D_ _x000D_My name is Tom, I am 25 years old.
_x000D_ _x000D_在這個例子中,我們使用了大括號中的數字來指定占位符的位置,數字從0開始計數。
_x000D_按名稱傳入變量
_x000D_除了按順序傳入變量,.format方法還支持按名稱傳入變量。在字符串中,我們可以使用一對大括號{}來表示一個占位符,然后在大括號中加上變量的名稱,如下所示:
_x000D_`python
_x000D_print("My name is {name}, I am {age} years old.".format(name="Tom", age=25))
_x000D_ _x000D_這段代碼輸出的結果和之前的例子一樣:
_x000D_ _x000D_My name is Tom, I am 25 years old.
_x000D_ _x000D_在這個例子中,我們使用了大括號中的變量名稱來指定占位符的位置。在.format方法中,我們可以按照名稱傳入變量,變量的名稱需要和字符串中的占位符名稱一致。
_x000D_使用變量的屬性和方法
_x000D_在.format方法中,我們可以使用變量的屬性和方法來格式化字符串。例如,我們可以使用字符串的.upper()方法將字符串轉換為大寫字母,如下所示:
_x000D_`python
_x000D_name = "Tom"
_x000D_print("My name is {}.".format(name.upper()))
_x000D_ _x000D_這段代碼輸出的結果是:
_x000D_ _x000D_My name is TOM.
_x000D_ _x000D_在這個例子中,我們使用了字符串的.upper()方法將字符串轉換為大寫字母,然后將其作為變量傳入到.format方法中。
_x000D_使用特定格式的變量
_x000D_在.format方法中,我們可以使用特定格式的變量來格式化字符串。例如,我們可以使用{:d}來表示整數,使用{:f}來表示浮點數,使用{:s}來表示字符串,如下所示:
_x000D_`python
_x000D_age = 25
_x000D_height = 1.75
_x000D_name = "Tom"
_x000D_print("My name is {0:s}, I am {1:d} years old and {2:.2f} meters tall.".format(name, age, height))
_x000D_ _x000D_這段代碼輸出的結果是:
_x000D_ _x000D_My name is Tom, I am 25 years old and 1.75 meters tall.
_x000D_ _x000D_在這個例子中,我們使用了{:s}來表示字符串,{:d}來表示整數,{:f}來表示浮點數,并使用:.2f來表示保留兩位小數。
_x000D_問答擴展
_x000D_1. .format方法和%格式化方法有什么區別?
_x000D_.format方法和%格式化方法都可以用來格式化字符串,但是.format方法更加靈活、易讀、易用。.format方法支持按順序傳入變量、按名稱傳入變量、使用變量的屬性和方法、使用特定格式的變量等高級用法,而%格式化方法只支持按順序傳入變量和使用特定格式的變量。
_x000D_2. .format方法中的占位符可以使用多次嗎?
_x000D_可以使用。在.format方法中,我們可以使用相同的占位符多次,例如:
_x000D_`python
_x000D_print("{0} {1} {0}".format("hello", "world"))
_x000D_ _x000D_這段代碼輸出的結果是:
_x000D_ _x000D_hello world hello
_x000D_ _x000D_在這個例子中,我們使用了{0}和{1}兩個占位符,其中{0}被使用了兩次。
_x000D_3. .format方法和f-string有什么區別?
_x000D_f-string是Python 3.6引入的一種字符串格式化方法,它使用一對大括號{}來表示一個占位符,并在大括號中加上變量的名稱或表達式。f-string相比于.format方法,更加簡潔、易讀、易用,但是只能在Python 3.6及以上版本中使用。例如:
_x000D_`python
_x000D_name = "Tom"
_x000D_age = 25
_x000D_print(f"My name is {name}, I am {age} years old.")
_x000D_ _x000D_這段代碼輸出的結果和之前的例子一樣:
_x000D_ _x000D_My name is Tom, I am 25 years old.
_x000D_ _x000D_在這個例子中,我們使用了f-string將變量插入到字符串中。f-string中的變量可以直接在大括號中使用,不需要在.format方法中傳入變量。
_x000D_