(四)Python中的字串型別及操作

梁剑lj發表於2024-08-02

一、字串型別的表示

在Python中,字串可以使用單引號 (')、雙引號 (")、三引號 ('''""") 來表示

# 使用單引號
string1 = 'Hello, World!'

# 使用雙引號
string2 = "Hello, World!"

# 使用三引號
string3 = '''Hello,
World!'''

string4 = """Hello,
World!"""

其中,單引號和雙引號的字串必須在同一行,而三引號的字串可以跨越多行

二、字串運算子

Python提供了一些運算子用於處理字串:

連線運算子(+

python複製程式碼str1 = "Hello"
str2 = "World"
result = str1 + " " + str2  # "Hello World"

重複運算子(*

python複製程式碼str1 = "Hello"
result = str1 * 3  # "HelloHelloHello"

成員運算子(innot in

python複製程式碼str1 = "Hello"
result = 'H' in str1  # True
result = 'h' not in str1  # True

索引運算子([]

python複製程式碼str1 = "Hello"
result = str1[1]  # 'e'

切片運算子([:]

python複製程式碼str1 = "Hello"
result = str1[1:4]  # 'ell'

三、字串處理函式

Python內建了許多處理字串的函式,這些函式通常以獨立函式的形式出現:

  1. len():返回字串的長度。

    python複製程式碼str1 = "Hello"
    result = len(str1)  # 5
    
  2. str():將其他型別轉換為字串。

    python複製程式碼num = 123
    result = str(num)  # "123"
    
  3. ord()chr():分別返回字元的Unicode碼點和碼點對應的字元。

    python複製程式碼char = 'A'
    result = ord(char)  # 65
    result = chr(65)  # 'A'
    

四、字串處理方法

字串是Python中的一個物件,因此它有許多方法用於處理和操作。常用的方法包括:

  1. upper()lower():將字串轉換為全大寫或全小寫。

    python複製程式碼str1 = "Hello"
    result = str1.upper()  # "HELLO"
    result = str1.lower()  # "hello"
    
  2. strip()lstrip()rstrip():移除字串兩端、左端或右端的空白字元。

    python複製程式碼str1 = "  Hello  "
    result = str1.strip()  # "Hello"
    result = str1.lstrip()  # "Hello  "
    result = str1.rstrip()  # "  Hello"
    
  3. replace():替換字串中的某些子串。

    python複製程式碼str1 = "Hello World"
    result = str1.replace("World", "Python")  # "Hello Python"
    
  4. split()join():分割和連線字串。

    python複製程式碼str1 = "Hello,World"
    result = str1.split(",")  # ['Hello', 'World']
    
    list1 = ['Hello', 'World']
    result = ",".join(list1)  # "Hello,World"
    
  5. find()rfind():查詢子串在字串中的位置。

    python複製程式碼str1 = "Hello World"
    result = str1.find("World")  # 6
    result = str1.rfind("l")  # 9
    

五、字串型別的格式化

Python提供了多種字串格式化的方法,常見的有以下幾種:

  1. 百分號格式化

    python複製程式碼name = "World"
    result = "Hello, %s" % name  # "Hello, World"
    
python複製程式碼name = "World"
result = "Hello, {}".format(name)  # "Hello, World"
  1. f-string(格式化字串字面量)

    python複製程式碼name = "World"
    result = f"Hello, {name}"  # "Hello, World"
    

str.format() 方法詳解

str.format() 方法是Python提供的一種強大且靈活的字串格式化方式,允許我們在字串中插入變數和表示式。與傳統的百分號 (%) 格式化相比,str.format() 方法提供了更多的控制和更易讀的語法。下面我們將詳細介紹 str.format() 方法的各種用法。

基本用法

str.format() 方法使用花括號 {} 作為佔位符,在字串中插入變數值。

python複製程式碼name = "Alice"
age = 30
result = "Name: {}, Age: {}".format(name, age)
print(result)  # 輸出: "Name: Alice, Age: 30"

指定位置

可以透過在花括號中指定位置引數,以便在多個變數時更靈活地排列輸出順序。

python複製程式碼name = "Alice"
age = 30
result = "Name: {0}, Age: {1}, {0} is {1} years old.".format(name, age)
print(result)  # 輸出: "Name: Alice, Age: 30, Alice is 30 years old."

使用關鍵字引數

str.format() 允許使用關鍵字引數,這樣可以更明確地指定每個值。

python複製程式碼result = "Name: {name}, Age: {age}".format(name="Alice", age=30)
print(result)  # 輸出: "Name: Alice, Age: 30"

填充與對齊

可以在花括號中使用 : 後跟對齊方式和填充字元:

  • <:左對齊
  • >:右對齊
  • ^:居中對齊
python複製程式碼result = "{:<10}".format("Left")
print(result)  # 輸出: "Left      "

result = "{:>10}".format("Right")
print(result)  # 輸出: "     Right"

result = "{:^10}".format("Center")
print(result)  # 輸出: "  Center  "

result = "{:*^10}".format("Center")
print(result)  # 輸出: "**Center**"

數字格式化

可以使用格式說明符對數字進行格式化:

  • d:十進位制整數
  • f:浮點數
  • e:科學計數法
python複製程式碼number = 1234.56789

result = "Integer: {:d}".format(1234)
print(result)  # 輸出: "Integer: 1234"

result = "Float: {:.2f}".format(number)
print(result)  # 輸出: "Float: 1234.57"

result = "Scientific: {:.2e}".format(number)
print(result)  # 輸出: "Scientific: 1.23e+03"

千位分隔符

可以使用逗號 , 作為千位分隔符,使數字更易讀:

python複製程式碼number = 1234567890
result = "Number with commas: {:,}".format(number)
print(result)  # 輸出: "Number with commas: 1,234,567,890"

百分比格式化

可以使用百分比符號 % 進行百分比格式化:

python複製程式碼number = 0.12345
result = "Percentage: {:.2%}".format(number)
print(result)  # 輸出: "Percentage: 12.35%"

巢狀格式化

str.format() 方法還支援巢狀和複合欄位:

python複製程式碼data = {
    "name": "Alice",
    "age": 30
}
result = "Name: {data[name]}, Age: {data[age]}".format(data=data)
print(result)  # 輸出: "Name: Alice, Age: 30"

訪問物件屬性

str.format() 允許直接訪問物件的屬性和方法:

python複製程式碼class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 30)
result = "Name: {0.name}, Age: {0.age}".format(person)
print(result)  # 輸出: "Name: Alice, Age: 30"

相關文章