Python基礎入門之字符串使用方法詳解

信息科技雲課堂 發佈 2024-04-30T15:09:59.808607+00:00

字符串是Python中表示字符序列的數據結構。它是一種不可變的數據類型,一旦創建了字符串,就無法更改它,只能重新賦值。Python中沒有「字符」數據類型,單個字符使用長度為1的字符串來表示。Python中的字符串可以使用單引號或雙引號甚至三引號創建。

字符串是PYTHON中表示字符序列的數據結構。它是一種不可變的數據類型,一旦創建了字符串,就無法更改它,只能重新賦值。

Python中沒有「字符」數據類型,單個字符使用長度為1的字符串來表示。

Python中的字符串可以使用單引號或雙引號甚至三引號創建。字符串的內容可以包含字母、數字、標點、特殊符號、中文等全世界的所有文字。

創建字符串

str1='123'
print(str1)

str2="123abc"
print(str2)

str3='''http://www.zbxx.net'''
print(str3)

輸出:

123

123abc

http://www.zbxx.net

訪問字符串中的字符

在Python中,可以使用索引方法訪問字符串中的各個字符。同列表一樣,可以使用正負索引訪問字符。

str1='Python'

#正索引,輸出索引號為0的字符
print(str1[0])

#負索引,輸出索引號為-1的字符
print(str1[-1])

#切片,輸出索引號1到3的字符
print(str1[1:4])

#切片,輸出索引號1到3,步長為2的字符
print(str1[1:4:2])

#反轉字符串
print(str1[::-1])

輸出:

P

n

yth

yh

nohtyP

修改刪除字符串

在 Python 中,不允許修改或刪除字符串中的字符,只能對整個字符串重新賦值。我們可以通過其他方法來修改字符串。

Str1="Hello,Python"

#轉換成列表,修改列表元素,再轉成字符串
list1=list(Str1)
list1[1]='a'
Str2=''.join(list1)
print(Str2)

#切片保留字符,連接字符串
Str3=Str1[0] +'a'+Str1[2:]
print(Str3)

#刪除字符串
del Str1
print(Str1)

輸出:

Hallo,Python

Hallo,Python

Traceback (most recent call last): File "C:\Users\Administrator\1.py", line 17, in print(Str1) NameError: name 'Str1' is not defined

使用 del 關鍵字可以刪除整個字符串,刪除後嘗試輸出字符串,將產生錯誤,因為字符串已刪除無法列印輸出。

字符串中的轉義字符

因為字符串包含在單引號和雙引號中,字符串中出現單引號和雙引號可能導致出錯,要列印此類字符串,可以使用三引號或使用轉義字符解決。

Str1='''I'm "Python"'''
print(Str1)

#轉義字符單引號
Str1='I\'m "Python"'
print(Str1)

#轉義字符雙引號
Str1="I'm \"Python\""
print(Str1)

#轉義字符反斜槓
Str1="C:\\Python\\"
print(Str1)

輸出:

I'm "Python"

I'm "Python"

I'm "Python"

C:\Python\

轉義字符

說明

\n

換行符,將光標位置移到下一行開頭。

\r

回車符,將光標位置移到本行開頭。

\t

水平制表符,也即 Tab 鍵,一般相當於四個空格。

\a

蜂鳴器響鈴。注意不是喇叭發聲,現在的計算機很多都不帶蜂鳴器了,所以響鈴不一定有效。

\b

退格(Backspace),將光標位置移到前一列。

\

反斜線

'

單引號

"

雙引號

\

在字符串行尾的續行符,即一行未完,轉到下一行繼續寫。

長字符串

要想換行書寫一個比較長的字符串,必須在行尾添加反斜槓\

使用三個單引號或者雙引號可以對多行內容進行注釋,可以用於Python長字符串書寫,可以直接換行(不用加反斜槓\)書寫的字符串。

Str1='I am Python,If we try to access an index out \
of the range or use numbers other than an \
integer, we will get errors.'

Str1='''I am Python,If we try to access an index out
of the range or use numbers other than an
integer, we will get errors.'''

原始字符串

字符串中使用轉義字符的寫法需要特別謹慎,稍有疏忽就會出錯。為了解決轉義字符的問題,Python支持原始字符串。在原始字符串中,\不會被當作轉義字符。原始字符串的結尾處不能是反斜槓。

字符串開頭加上r前綴,就變成了原始字符串。

Str1=r'C:\Python'
Str2=r'I\'m "Python"'
print(Str1)
print(Str2)

輸出:

C:\Python

I'm "Python"

字符串相關函數方法

replace() 方法把字符串中的old(舊字符串)替換成new(新字符串),如果指定第三個參數max,則替換不超過max 次。

replace()方法語法:

str.replace(old, new[, max])

詳細使用方法示例請參照:

在Python中刪除字符串中的特定字符

join() 方法多個字符串連接成一個字符串

詳細使用方法示例請參照:

詳解使用Python join()方法連接序列生成新的字符串

格式化輸出:

在Python中使用模運算符(%)進行字符串格式化

神奇的Python3字符串格式化新功能: f-Strings

#lower()將字符串中的所有字符轉為小寫。
Str1='Python'
Str1=Str1.lower()
print(Str1)

#upper()將字符串中的所有字符轉為大寫。
Str1='Python'
Str1=Str1.upper()
print(Str1)

#capitalize()將字符串的第一個字母大寫。
Str1='python'
Str1=Str1.capitalize()
print(Str1)

#startswith()返回布爾類型值:True 或 False。檢查字符串的第一個字符是否是正在查找的字符。
Str1='python'
b=Str1.startswith("P")
print(b)
Str1='Python'
b=Str1.startswith("P")
print(b)

#endswith()檢查字符串的最後一個字符是否是正在查找的字符。
Str1='python'
b=Str1.endswith("n")
print(b)
Str1='Python'
b=Str1.endswith("N")
print(b)

#index()返回第一個匹配子字符串的索引。
Str1='python'
b=Str1.index("t")
print(b)

#find()與index()類似,find找不到返回-1,index找不到時引發ValueError。
Str1='python'
b=Str1.find("a")
print(b)

#count()統計字符在字符串中出現的次數。
Str1='pythonpythonpython'
b=Str1.count("t")
print(b)

#split()用指定字符拆分字符串。
Str1='pythonpythonpython'
b=Str1.split("t")
print(b)

輸出:

python

PYTHON

Python

False

True

True

False

2

-1

3

['py', 'honpy', 'honpy', 'hon']

關鍵字: