Python - 字串:初學者指南

你好,未來的 Python 魔法師!? 你準備好要深入 Python 字串的神奇世界了嗎?如果你從未寫過一行代碼,也別擔心 - 我們將從頭開始,一起建立我們的字串技能。在這篇教程結束時,你將能與最優秀的人並駕齊驅!讓我們開始吧!

Python - Strings

創建 Python 字串

Python 中的字串就像書中的詞語 - 它們是我們用來表示文本的字符序列。創建字串就像是用引號包裹一些文本那麼簡單。讓我們看看一些例子:

# 單引號
my_string = 'Hello, World!'

# 雙引號
another_string = "Python is awesome!"

# 你甚至可以在引號中使用引號
mixed_string = "I'm learning Python"

在這些例子中,我們創建變量並將字串值賦值給它們。等號 (=) 就像是在說“這個變量現在是這個字串”。很容易吧?

存取字串中的值

現在我們已經創建了一些字串,讓我們學習如何存取它們中的特定字符。在 Python 中,我們可以使用索引做到這一點。將字串視為一排盒子,每個盒子包含一個字符。盒子從 0 開始編號。

my_name = "Alice"
#          01234

print(my_name[0])  # 輸出:A
print(my_name[2])  # 輸出:i
print(my_name[-1]) # 輸出:e(負索引從結尾開始)

在這裡,我們在字串變量後使用方括號 [] 來存取個別字符。這就像打開一個特定的盒子來看看裡面有什麼!

更新字串

這裡有一個有趣的事實:在 Python 中,字串是不可變的。這意味著一旦你創建了一個字串,你就不能改變它其中的個別字符。但別擔心!我們仍然可以根據現有的字串創建新的字串:

greeting = "Hello, World!"
new_greeting = greeting.replace("World", "Python")
print(new_greeting)  # 輸出:Hello, Python!

在這個例子中,我們使用 replace() 方法來創建一個新的字串,其中“World”被替換為“Python”。這就像製作一句話的副本,並在副本中改變一個詞。

逃逸字符

有時我們需要在字串中包含特殊字符。這就是逃逸字符派上用場的地方。它們以反斜杠 () 開始:

print("He said, \"Python is fun!\"")  # 輸出:He said, "Python is fun!"
print("First line\nSecond line")      # \n 創建一個新行
print("Tab\tspace")                   # \t 創建一個製表符間距

逃逸字符就像告訴 Python 以特殊方式對待某些字符的秘密代碼。很酷吧?

字串特殊運算符

Python 有一些與字串一起工作的特殊運算符。讓我們看看一些:

# 串接(連接字串)
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)  # 輸出:John Doe

# 重複
cheer = "Hip " * 2 + "Hooray!"
print(cheer)  # 輸出:Hip Hip Hooray!

# 切片
message = "Python is amazing"
print(message[7:9])  # 輸出:is
print(message[:6])   # 輸出:Python
print(message[10:])  # 輸出:amazing

這些運算符就像魔法棒 - 它們讓我們只需使用幾個字符就能以強大的方式操作字串!

字串格式化運算符

字串格式化運算符 % 是創建格式化字串的強大工具。它就像有一個模板,你可以插入不同的值:

name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age))
# 輸出:My name is Alice and I am 25 years old.

在這裡,%s 是字串的佔位符,而 %d 是整數的佔位符。% 運算符然後用我們提供的值填寫這些佔位符。

Python 字串中的雙引號

我們已經看到我們可以用單引號或雙引號創建字串。但是如果我們想在字串中包含引號呢?這就是如何做到的:

# 使用單引號包含雙引號
message = 'He said, "Python is great!"'

# 使用雙引號包含單引號
another_message = "It's a beautiful day!"

print(message)
print(another_message)

通过交替使用單引號和雙引號,我們可以輕鬆地在字串中包含引號,而不會讓 Python 混亂。

三引號

當我們需要創建包含多行的字串或包含單引號和雙引號的字串時,三引號非常有用:

long_message = """This is a long message
that spans multiple lines.
It can contain 'single' and "double" quotes freely."""

print(long_message)

三引號就像給 Python 一個大盒子,把你所有的文本放進去,無論它有多複雜!

Python 多行字串

我們剛剛看到了三引號如何創建多行字串。這裡有另一個例子:

poem = '''
Roses are red,
Violets are blue,
Python is awesome,
And so are you!
'''

print(poem)

這對於當你需要在代碼中包含大量文本時非常有用。

字串的算術運算符

雖然我們不能以傳統的方式對字串進行數學運算,但 Python 確實允許我們以一些有趣的方式使用一些算術運算符與字串一起:

# 附加(串接)
greeting = "Hello" + " " + "World"
print(greeting)  # 輸出:Hello World

# 重複
echo = "Echo " * 3
print(echo)  # 輸出:Echo Echo Echo

只是記住,你不能減去或除以字串 - 那就太可笑了!

獲取 Python 字串的類型

有時候,確定我們正在處理的數據類型很有用。我們可以使用 type() 函數來做到這一點:

my_string = "Hello, World!"
print(type(my_string))  # 輸出:<class 'str'>

這確認了我們的變量確實是一個字串(str)。

內建字串方法

Python 提供了一個滿滿的內建方法工具箱,用於處理字串。以下是一些最有用的:

方法 描述 示例
upper() 將字串轉換為大寫 "hello".upper()"HELLO"
lower() 將字串轉換為小寫 "WORLD".lower()"world"
strip() 刪除開頭和結尾的空白 " hi ".strip()"hi"
replace() 將一個子字串替換為另一個 "Hello".replace("H", "J")"Jello"
split() 將字串拆分為列表 "a,b,c".split(",")["a", "b", "c"]
join() 將可迭代元素的元素連接為字串 ",".join(["a", "b", "c"])"a,b,c"

這些方法就像你 Python 工具箱中的不同工具 - 每個都有幫助你以不同的方式操作字串!

內建函數與字串

最後,讓我們看看一些與字串一起工作的 Python 內建函數:

# len() - 返回字串的長度
print(len("Python"))  # 輸出:6

# str() - 將其他數據類型轉換為字串
number = 42
print("The answer is " + str(number))  # 輸出:The answer is 42

# ord() - 返回字符的 Unicode 碼點
print(ord('A'))  # 輸出:65

# chr() - 返回 Unicode 碼點的字符
print(chr(65))  # 輸出:A

這些函數就像瑞士軍刀 - 它們是多功能的工具,可以在許多不同的情況下幫助你。

就這樣,我的年輕 Python 魔法師們!我們已經穿越了 Python 字串的土地,從創造到操作,甚至更遠。記住,練習成就完美,所以不要害怕實驗這些概念。在你意識到之前,你將能夠像專業人士一樣串聯 Python 代碼!開心編程!??

Credits: Image by storyset