python學習之旅 02字串

2021-10-06 15:50:29 字數 3285 閱讀 8736

所謂字串,就是由零個或多個字元組成的有限序列,一般記為。在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!\''

s2 = r'\n\\hello, world!\\\n'

print(s1, s2, end='')

python為字串型別提供了非常豐富的運算子,我們可以使用+運算子來實現字串的拼接,可以使用*運算子來重複乙個字串的內容,可以使用innot 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, 10

print(' * = '.format(a, b, a * b))

python 3.6以後,格式化字串還有更為簡潔的書寫方式,就是在字串前加上字母f,我們可以使用下面的語法糖來簡化上面的**。

a, b = 5, 10

print(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 就是乙個字串 定義 是乙個有序的字元的集合,用於儲存和表示基本的文字資訊,一對單雙或三引號中間包含的內容成為字串 注意 變數宣告中,不加引號...