【Python入門基礎】字符串與常用運算符及處理

字符串

      字符串時零個或多個字符組成的有限序列,在Python程序中,如果我們把單個或多個字符用單引號或雙引號包圍起來,就可以表示一個字符串。

eg.字符串表示

s1 = 'hello, world!'
s2 = "hello, world!"
# 以三個雙引號或單引號開頭的字符串可以折行
s3 = """
hello, 
world!
"""
print(s1, s2, s3, end='')

       可以在字符串中使用'\'(反斜槓)來表示轉義,也就是說'\'後面的字符不再是它原來的意義,例如'\n'不是表示反斜槓和字符n,而是表示換行;而'\t'也不是表示反斜槓和字符t,而是表示製表符。所以想在字符串中表示‘ ' ’要寫成‘ \' ’,同理表示‘ \ ’要寫成‘\\ ’。在‘ \ ’後面還可以跟一個八進制或者十六進制數表示字符,例如‘\141’和‘\x61’都表示小寫字母a,前者爲八進制的表示法,後者爲十六進制的表示法。也可以‘ \ ’後面跟Unicode字符編碼來表示字符,例如‘\u4e2d\u56fd’代表中文‘中國’。

eg.轉義輸出

s1 = '\141\142\143\x61\x62\x63'
s2 = '\u4e2d\u56fd'
print(s1, s2)

      如果不希望字符串中的‘ \ ’表示轉義,可以通過在字符串的最前面加上字母‘r’。特別是在爬蟲時,網頁的網址中‘ \ ’出現的頻率特別高,但其不表示轉義,網址前加‘r’就很重要。

eg.不出現轉義

s1 = r'\'hello, world!\''
s2 = r'\n\\hello, world!\\\n'
print(s1, s2, end='')
#輸出\'hello, world!\',\n\\hello, world!\\\n

字符串操作及運算

      python爲字符串類型提供了非常豐富的運算符,可以使用‘+’運算符來實現字符串的拼接,可以使用運算符來重複一個字符串的內容,可以使用‘in’和‘not in’來判斷一個字符串是否包含另外一個字符(成員運算),可以使用‘[ ]’和‘[:]’運算符從字符串取出某個字符或某些字符(切片運算)等。

eg.字符串拼接、判斷及切片運算

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

eg.字符串處理

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('shit')) # -1
# 與find類似但找不到子串時會引發異常
# print(str1.index('or'))
# print(str1.index('shit'))
# 檢查字符串是否以指定的字符串開頭
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())

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章