[Python初學者] 10種 Strings 字串用法

Python Data Types 資料類型 – Strings 字串:利用小括號( ( ) )

No.
Strings 字串用法
1 Strings 用「雙引號」或「單引號」表示 (字串)  或 (字串)
2 Strings 為多重字串時,可用三次重複的「雙引號」或「單引號」 (“”” 多重字串 “””)  或 (”’ 多重字串 ”’)
3 Strings 為一種矩陣(Array) 矩陣內位置(用中括號 [ ] 表示)
4 Slicing Strings 字串片段 利用矩陣內位置概念([ ]
5 Strings 做一個迴圈(Looping) Strings 為一種矩陣,可以利用字母做迴圈(使用:for
6 Strings Length 長度 利用 len ( ) 表示
7 查看 Strings 內的 字串 或 字母 利用 in 表示,並利用
1) if 假設,查找字是否出現 ( in )在 strings 中 或
2) if 假設,查找字出現 ( not in ) 在 string 中
8 Modify Strings 修改字串 1) 大寫 upper ( )
2) 小寫 lower ( )
3) 刪除 Strings 前後空格 strip ( )
4) 替換字母 replace ( )
5) 分割字串 split ( )
9 String concatenation 串聯字串 利用加號 + 表示
10 String Format 字串格式 利用 format ()字串數字結合

 

1. Strings 用「雙引號」或「單引號」表示:( (字串)  或 (字串) )

print("Oceane")
Oceane

又或者

print('Oceane')
Oceane
# 不論用「雙引號」或「單引號」,出來的結果皆為:Oceane

 

2. Strings 為多重字串時,可用三次重複的「雙引號」或「單引號」:
( (“”” 多重字串 “””)  或 (”’ 多重字串 ”’) )

a = """ Hi, my name is Oceane. Nice to meet you! """
print(a)
Hi, my name is Oceane. Nice to meet you!

又或者

a = ''' Hi, my name is Oceane. Nice to meet you! '''
print(b)
Hi, my name is Oceane. Nice to meet you!

# 不論用三次重複的「雙引號」或「單引號」,出來的結果皆為:Hi, my name is Oceane. Nice to meet you!

3. Strings 為一種矩陣(Array):矩陣內位置(用中括號 [ ] 表示)

a = "Hello, Oceane!"
print(a[1])
e

# Strings 為一種矩陣,當 a = “Hello, Oceane !”,則第一個位置(用中括號 [ ] 表示)為 e。
0個位置為(print ( a [0] )):H
1個位置為(print ( a [1] )):e
2個位置為(print ( a [2] )):l
3個位置為(print ( a [3] )):l
4個位置為(print ( a [4] )):o
5個位置為(print ( a [5] )):,
6個位置為(print ( a [6] )): (空格)
7個位置為(print ( a [7] )):O
以此類推…

4. Slicing Strings 字串片段:利用矩陣內位置概念([ ]

b = "Hello, Oceane!"
print(b[2:5])
llo

# 當 b = “Hello, Oceane !”,則第2到第5個位置之前(即第4個位置)為 llo。(注意:第一個字母為位置 0

又或者

b = "Hello, Oceane!"
print(b[:5])
Hello

# 則從頭(第0個位置)到第5個位置之前(即第4個位置)為 Hello。

又或者

b = "Hello, Oceane!"
print(b[2:])
llo, Oceane!

# 則從頭(第2個位置)到最後為 llo, Oceane!。

又或者

b = "Hello, Oceane!"
print(b[-5:-2])
ean

# 倒數第5個位置到倒數第2個位置為 ean

5. Strings 做一個迴圈(Looping):
Strings 為一種矩陣,可以利用字母做迴圈(使用:for

for x in "Oceane": 
print(x)
O 
c 
e 
a 
n 
e

# 當 Strings 為一種矩陣,可以利用字母做迴圈(使用:for )。註:當 for x in “Oceane” 後面接著 print (x),須將 print(x) 利用 tab鍵移至後面一格。
結果代表:
x 跑第 1 次迴圈 Loop,出現 O
x 跑第 2 次迴圈 Loop,出現 c
x 跑第 3 次迴圈 Loop,出現 e
x 跑第 4 次迴圈 Loop,出現 a
x 跑第 5 次迴圈 Loop,出現 n
x 跑第 6 次迴圈 Loop,出現 e

6. Strings Length 長度:利用 len ( ) 表示

a = "Hello, Oceane!" 
		print(len(a))
14

# 表示此字串長度為:14(包含標點符號及空格)。

7. 查看 Strings 內的字串 或 字母:利用 in 表示

txt = "Oceane is a cute girl!" 
	print("cute" in txt)
True

# cute 出現在此 string 中,因此結果為:True。

利用 if 假設,字出現 ( in )在 string 中

txt = "Oceane is a cute girl!"
if "cute" in txt: 
  print("Yes, 'cute' is present")
Yes, 'cute' is present

# 利用 if:if cute 出現在此 string 中,則 print ” Yes, ‘cute’ is present “。

但,

利用 if 假設,字出現 ( not in ) 在 string 中

txt = "Oceane is a cute girl!"
if "boy" not in txt: 
		print("Yes, 'boy' is NOT present")
Yes, 'boy' is NOT present

# 利用 if:if boy 未出現在此 string 中,則 print ” Yes, ‘boy’ is NOT present “。

8. Modify Strings 修改字串:
1) 大寫 upper ( )
2) 小寫 lower ( )
3) 刪除 Strings 前後空格 strip ( )
4) 替換字母 replace ( )
5) 分割字串 split ( )

 

1) 大寫 upper ( )

a = "Hello, Oceane!"
print(a.upper())
HELLO, OCEANE!

# 將 print (a) 再加上 upper () ,則結果會讓所有 Strings 裡面的字母變成大寫

2) 小寫 lower ( )

a = "Hello, Oceane!"
print(a.lower())
hello, oceane!

# 將 print (a) 再加上 lower () ,則結果會讓所有 Strings 裡面的字母變成小寫

3) 刪除 Strings 前後空格 strip ( )

a = " Hello, Oceane! "
print(a.strip())
Hello, Oceane!

# 將 print (a) 再加上 strip () ,則結果會讓 Strings( Hello, Oceane! )最前面最後面的空格被刪除。

4) 替換字母 replace ( )

a = "Hello, Oceane!"
print(a.replace("H", "A"))
Aello, Oceane! 

# 將 print (a) 再加上 replace ( “H”, “A” ) ,則結果會讓 Strings 中的 H A 替換,而從 Hello 變成 Aello。

5) 分割字串 split ( )

a = "Hello, Oceane!"
print(a.split(","))
['Hello', ' Oceane!']

# 將 print (a) 再加上 split ( ” , ” ) ,則將 Strings 中逗點前後的兩個字被分割成:Hello 和 Oceane

 

9. String concatenation 串聯字串:利用加號 + 表示

a = "Hello"
b = "Oceane!"
c = a + b
print(c)
HelloOceane!

# 利用加號( + )將 a 、 b 字串相加成 c。

又或者

a = "Hello"
b = ", "
c = "Oceane!"
d = a + b + c
print(d)
Hello, Oceane!

# 利用加號( + )將 a 、 b 、 c  字串相加成 d。

a = "Hello"
b = "Oceane!"
c = a + " " + b
print(c)
Hello Oceane!

# 當 a  + ” ” (雙引號) +  b ,雙引號代表在 a 和 b字串之間加入空白。

 

10. String Format 字串格式:利用 format ()字串數字結合

一般來說,字串 strings 和數字 numbers 是無法串在一起呈現的,如下:

age = 2
txt = "My name is Oceane, I am " + age
print(txt)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-155-293f1987e799> in <module>
      1 age = 2
----> 2 txt = "My name is Oceane, I am " + age
      3 print(txt)

TypeError: must be str, not int

# 字串和數字串聯,則出現 Error。

可利用 format (),在 strings 中想加入數字部分加入大括弧{ }

age = 2
txt = "My name is Oceane, I am {}"
print(txt.format(age))
My name is Oceane, I am 2

# 利用 format ( age ),則在 strings 中 帶入 age 的數值大括弧{ } )內。

又或者 format ( ) 中的參數數量沒有限制

age = 2
height = 100 weight = 8.9
info = "Oceane is {} years old, {} cm and {} kg."
print(info.format(age, height, weight))
Oceane is 2 years old, 100 cm and 8.9 kg.

# format ( age, height, weight ),在 strings 中依序帶入 大括弧{ } )內,則呈現 { 2 } 、{ 100 ]、{ 8.9 }。

又或者大括弧 { } 中加入位置編號

age = 2
height = 100
weight = 8.9
info = "Oceane is {2} years old, {1} cm and {0} kg."
print(info.format(weight, height, age))
Oceane is 2 years old, 100 cm and 8.9 kg.

# 如大括弧依序為
位置 2 { 2 }:age = 2
位置 1 { 1 }:height = 100
位置 0 { 0 }:weight = 8.9
則呈現 { 2 } 、{ 100 }、{ 8.9 }。

 

另一篇Python Data Types 資料類型,請參考:https://myoceane.fr/index.php/python-data-types/
參考出處:https://www.w3schools.com/python/python_strings.asp