所謂字串,就是由零個或多個字元組成的有限序列,一般記為。在python程式中,如果我們把單個或多個字元用單引號或者雙引號包圍起來,就可以表示乙個字串。
s1 = 'hello, world!'可以在字串中使用s2 = "hello, world!"
# 以三個雙引號或單引號開頭的字串可以折行
s3 = """
hello,
world!
"""print(s1, s2, s3, end='')
\
(反斜槓)來表示轉義,也就是說\
後面的字元不再是它原來的意義,例如:\n
不是代表反斜槓和字元n,而是表示換行;而\t
也不是代表反斜槓和字元t,而是表示製表符。所以如果想在字串中表示'
要寫成\'
,同理想表示\
要寫成\\
。可以執行下面的**看看會輸出什麼。
s1 = '\'hello, world!\''在s2 = '\n\\hello, world!\\\n'
print(s1, s2, end='')
\
後面還可以跟乙個八進位制或者十六進製制數來表示字元,例如\141
和\x61
都代表小寫字母a
,前者是八進位制的表示法,後者是十六進製制的表示法。也可以在\
後面跟unicode字元編碼來表示字元。
s1 = '\141\142\143\x61\x62\x63'如果不希望字串中的s2 = '\u9a86\u660a'
print(s1, s2)
\
表示轉義,我們可以通過在字串的最前面加上字母r
來加以說明,再看看下面的**又會輸出什麼。
s1 = r'\'hello, world!\''python為字串型別提供了非常豐富的運算子,我們可以使用s2 = r'\n\\hello, world!\\\n'
print(s1, s2, end='')
+
運算子來實現字串的拼接,可以使用*
運算子來重複乙個字串的內容,可以使用in
和not in
來判斷乙個字串是否包含另外乙個字串(成員運算),我們也可以用
和[:]
運算子從字串取出某個字元或某些字元(切片運算),**如下所示。
s1 = 'hello ' * 3
print(s1) # hello hello hello
s2 = 'world'
s1 += s2
print(s1) # hello hello hello world
print('ll' in s1) # true
print('good' in s1) # false
str2 = 'abc123456'
# 從字串中取出指定位置的字元(下標運算)
print(str2[2]) # c
# 字串切片(從指定的開始索引到指定的結束索引)
print(str2[2:5]) # c12
print(str2[2:]) # c123456
print(str2[2::2]) # c246
print(str2[::2]) # ac246
print(str2[::-1]) # 654321cba
print(str2[-3:-1]) # 45
str1 = 'hello, world!'
# 通過內建函式len計算字串的長度
print(len(str1)) # 13
# 獲得字串首字母大寫的拷貝
print(str1.capitalize()) # hello, world!
# 獲得字串每個單詞首字母大寫的拷貝
print(str1.title()) # hello, world!
# 獲得字串變大寫後的拷貝
print(str1.upper()) # hello, world!
# 從字串中查詢子串所在位置
print(str1.find('or')) # 8
print(str1.find('****')) # -1
# 與find類似但找不到子串時會引發異常
# print(str1.index('or'))
# print(str1.index('****'))
# 檢查字串是否以指定的字串開頭
print(str1.startswith('he')) # false
print(str1.startswith('hel')) # true
# 檢查字串是否以指定的字串結尾
print(str1.endswith('!')) # true
# 將字串以指定的寬度居中並在兩側填充指定的字元
print(str1.center(50, '*'))
# 將字串以指定的寬度靠右放置左側填充指定的字元
print(str1.rjust(50, ' '))
str2 = 'abc123456'
# 檢查字串是否由數字構成
print(str2.isdigit()) # false
# 檢查字串是否以字母構成
print(str2.isalpha()) # false
# 檢查字串是否以數字和字母構成
print(str2.isalnum()) # true
str3 = ' [email protected] '
print(str3)
# 獲得字串修剪左右兩側空格之後的拷貝
print(str3.strip())
a, b = 5, 10當然,我們也可以用字串提供的方法來完成字串的格式,**如下所示。print('%d * %d = %d' % (a, b, a * b))
a, b = 5, 10python 3.6以後,格式化字串還有更為簡潔的書寫方式,就是在字串前加上字母print(' * = '.format(a, b, a * b))
f
,我們可以使用下面的語法糖來簡化上面的**。
a, b = 5, 10print(f' * = ')
python筆記02 字串操作
str1 www str1就是字串了 一定用引號 或者直接使用 字串.來呼叫內部的方法 capitalize 方法 開頭大寫 print wsy www capitalize wsy www swapcase 方法 全都大寫 print wsy ada swapcase wsy ada isuppe...
C 學習之旅(3) 字元與字串
在文字的處理方面,大多都是通過字元和字串的操作來實現。在c 中,主要用char類 string類 stringbuild類來實現。在學習過程中,發現對於這類的處理,在呼叫上主要有兩個使用方式,一種是類的static函式呼叫,另一種是用例的方法呼叫。比如 static方法的呼叫 char.islett...
Python資料型別 02 字串
本文主要記錄字串的相關知識,包括字串的定義特點,常用方法和 請知悉 計算機中,一切皆為物件 世界萬物,皆為物件,一切物件皆可分類 類似 hello world 就是乙個字串 定義 是乙個有序的字元的集合,用於儲存和表示基本的文字資訊,一對單雙或三引號中間包含的內容成為字串 注意 變數宣告中,不加引號...