在Python中,字元串可以用單引號或雙引號括起來。'hello' 與 "hello" 是相同的。您可以使用print()函數顯示字元串文字: 示例: print("Hello") print('Hello') 將字元串分配給變數是通過變數名後跟等號和字元串完成的: 示例 a = "Hello" p ...
在Python中,字元串可以用單引號或雙引號括起來。'hello' 與 "hello" 是相同的。您可以使用print()函數顯示字元串文字:
示例:
print("Hello")
print('Hello')
將字元串分配給變數是通過變數名後跟等號和字元串完成的:
示例
a = "Hello"
print(a)
多行字元串
您可以使用三個引號將多行字元串分配給變數:示例,您可以使用三個雙引號:
a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)
或者使用三個單引號:示例
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)
註意:在結果中,換行符與代碼中的位置相同。
字元串是數組
與許多其他流行的編程語言一樣,Python中的字元串是表示Unicode字元的位元組數組。但是,Python沒有字元數據類型,單個字元只是具有長度1的字元串。可以使用方括弧訪問字元串的元素。
示例,獲取位置1處的字元(請記住,第一個字元的位置是0):
a = "Hello, World!"
print(a[1])
遍歷字元串
由於字元串是數組,因此我們可以使用for迴圈遍歷字元串中的字元。
示例,遍歷單詞"banana"中的字母:
for x in "banana":
print(x)
在我們的Python For Loops章節中瞭解更多關於for迴圈的內容。
字元串長度
要獲取字元串的長度,請使用len()函數。
示例,len()函數返回字元串的長度:
a = "Hello, World!"
print(len(a))
檢查字元串
要檢查字元串中是否存在某個短語或字元,我們可以使用關鍵字in。
示例,檢查以下文本中是否存在"free":
txt = "The best things in life are free!"
print("free" in txt)
在if語句中使用它:
示例,僅在存在"free"時才列印:
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")
在我們的Python If...Else章節中瞭解更多關於if語句的內容。
檢查是否不存在
要檢查字元串中是否不存在某個短語或字元,我們可以使用關鍵字not in。
示例,檢查以下文本中是否不存在"expensive":
txt = "The best things in life are free!"
print("expensive" not in txt)
在if語句中使用它:
示例,僅在不存在"expensive"時才列印:
txt = "The best things in life are free!"
if "expensive" not in txt:
print("No, 'expensive' is NOT present.")
切片
您可以使用切片語法返回一系列字元。,指定起始索引和結束索引,用冒號分隔,以返回字元串的一部分。
示例:,獲取從位置2到位置5的字元(不包括位置5):
b = "Hello, World!"
print(b[2:5])
註意:第一個字元的索引為0。,從開頭切片,如果省略起始索引,則範圍將從第一個字元開始:
示例,獲取從開頭到位置5的字元(不包括位置5):
b = "Hello, World!"
print(b[:5])
切片到結尾
如果省略結束索引,則範圍將一直到結尾:
示例,獲取從位置2到結尾的字元:
b = "Hello, World!"
print(b[2:])
負索引
使用負索引從字元串的末尾開始切片:
示例,獲取字元:從:在"World!"中的"o"(位置-5)到,但不包括:在"World!"中的"d"(位置-2):
b = "Hello, World!"
print(b[-5:-2])
Python具有一組可用於字元串的內置方法。
大寫
示例:upper()方法將字元串轉換為大寫:
a = "Hello, World!"
print(a.upper())
小寫
示例:lower()方法將字元串轉換為小寫:
a = "Hello, World!"
print(a.lower())
刪除空白
空白是實際文本之前和/或之後的空格,通常您希望刪除此空間。
示例,strip()方法從開頭或末尾刪除任何空格:
a = " Hello, World! "
print(a.strip()) # 返回 "Hello, World!"
替換字元串
示例,replace()方法將字元串替換為另一個字元串:
a = "Hello, World!"
print(a.replace("H", "J"))
拆分字元串
split()方法返回一個列表,其中指定分隔符之間的文本成為列表項。
示例,split()方法如果找到分隔符的實例,將字元串拆分為子字元串:
a = "Hello, World!"
print(a.split(",")) # 返回 ['Hello', ' World!']
字元串連接
要連接或組合兩個字元串,您可以使用+運算符。
示例:,將變數a與變數b合併到變數c中:
a = "Hello"
b = "World"
c = a + b
print(c)
示例,要在它們之間添加一個空格,請添加一個" ":
a = "Hello"
b = "World"
c = a + " " + b
print(c)
字元串格式化
正如我們在Python變數章節中學到的,我們不能像這樣組合字元串和數字:
示例:
age = 36
txt = "My name is John, I am " + age
print(txt)
但是,我們可以使用format()方法將字元串和數字組合起來!
format()方法接受傳遞的參數,格式化它們,並將它們放在字元串中占位符{}處:
示例,使用format()方法將數字插入字元串中:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
format()方法接受無限數量的參數,並將它們放入相應的占位符中:
示例
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
您可以使用索引號{0}來確保參數放在正確的占位符中:
示例
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))
轉義字元
要插入字元串中不允許的字元,請使用轉義字元。
轉義字元是反斜杠\後跟要插入的字元。
一個非法字元的示例是在由雙引號括起來的字元串中插入雙引號:
示例:如果在由雙引號括起來的字元串中使用雙引號,將會出現錯誤:
txt = "We are the so-called "Vikings" from the north."
要解決這個問題,使用轉義字元\:
示例轉義字元允許您在通常不允許的情況下使用雙引號:
txt = "We are the so-called \"Vikings\" from the north."
Python中使用的其他轉義字元:
\' 單引號
\\ 反斜杠
\n 換行符
\r 回車符
\t 製表符
\b 退格符
\f 換頁符
\ooo 八進位值
\xhh 十六進位值
Python字元串方法
Python具有一組可用於字元串的內置方法。
註意:所有字元串方法都返回新值。它們不會更改原始字元串。
capitalize() 將第一個字元轉換為大寫
casefold() 將字元串轉換為小寫
center() 返回一個居中的字元串
count() 返回字元串中指定值出現的次數
encode() 返回字元串的編碼版本
endswith() 如果字元串以指定值結尾,則返回True
expandtabs() 設置字元串的製表符大小
find() 搜索字元串中的指定值並返回其找到的位置
format() 格式化字元串中的指定值
format_map() 格式化字元串中的指定值
index() 搜索字元串中的指定值並返回其找到的位置
isalnum() 如果字元串中的所有字元都是字母數字字元,則返回True
isalpha() 如果字元串中的所有字元都在字母表中,則返回True
isascii() 如果字元串中的所有字元都是ASCII字元,則返回True
isdecimal() 如果字元串中的所有字元都是十進位字元,則返回True
isdigit() 如果字元串中的所有字元都是數字,則返回True
isidentifier() 如果字元串是標識符,則返回True
islower() 如果字元串中的所有字元都是小寫,則返回True
isnumeric() 如果字元串中的所有字元都是數字,則返回True
isprintable() 如果字元串中的所有字元都是可列印字元,則返回True
isspace() 如果字元串中的所有字元都是空白字元,則返回True
istitle() 如果字元串遵循標題規則,則返回True
isupper() 如果字元串中的所有字元都是大寫,則返回True
join() 將可迭代對象的元素連接到字元串的末尾
ljust() 返回字元串的左對齊版本
lower() 將字元串轉換為小寫
lstrip() 返回字元串的左修剪版本
maketrans() 返回用於轉換的轉換表
partition() 返回一個元組,其中字元串分為三個部分
replace() 返回一個字元串,其中指定的值替換為指定的值
rfind() 搜索字元串中的指定值並返回其找到的最後位置
rindex() 搜索字元串中的指定值並返回其找到的最後位置
rjust() 返回字元串的右對齊版本
rpartition() 返回一個元組,其中字元串分為三個部分
rsplit() 在指定的分隔符處拆分字元串,並返回一個列表
rstrip() 返回字元串的右修剪版本
split() 在指定的分隔符處拆分字元串,並返回一個列表
splitlines() 在換行符處拆分字元串,並返回一個列表
startswith() 如果字元串以指定值開頭,則返回True
strip() 返回字元串的修剪版本
swapcase() 交換大小寫,小寫變為大寫,反之亦然
title() 將每個單詞的第一個字元轉換為大寫
translate() 返回一個翻譯後的字元串
upper() 將字元串轉換為大寫
zfill() 在開頭填充指定數量的0值的字元串
最後
為了方便其他設備和平臺的小伙伴觀看往期文章,鏈接奉上:
公眾號搜索Let us Coding
,知乎,開源中國,CSDN,思否,掘金,InfoQ,簡書,博客園,慕課,51CTO,helloworld,騰訊開發者社區,阿裡開發者社區
看完如果覺得有幫助,歡迎點贊、收藏和關註