字串
一般python中的字串我們可以使用單引號或雙引號括起來
單引號或雙引號有什么區別呢?實際上是沒有什么區別的
但是在特殊的情況下,區別就來了
文章目錄
- 字串
- 字串和轉義字串
- 長字串
- 字串的拼接
- 原始字串
- 字串內置函式
- 總結
字串和轉義字串
正如上面所說,我們的字串是用單引號和雙引號括起來的,像這樣
s = '這是一段字串'
s = "這是一段字串"
當然,這是比較常規的情況,我們還有一些不常規的情況,python就沒有辦法去正確的處理了,那我們就可能需要用到一些其它的方式來處理
當一段字串中本身帶有單引號怎么辦?或者說,我們字串里本身帶有雙引號怎么辦?比如像這樣:
s = 'I'm a python'
s = ""python"是我的名字"
這個時候,程式就會報錯,那我們的單引號和雙引號的區別就有了,
由于上面字串中包含了單引號,這個時候 Python 會將字串中的單引號與第一個單引號匹配,這樣就會把 ‘I’ 當成字串,而后面的 因為沒有引號的幫助,就造成了語法錯誤,
如果我們在外面使用雙引號括起來就可以解決這個問題,像這樣:
s = "I'm a python"
假如字串內容本身包含雙引號,我們就可使用單引號將字串括起來,像這樣:
s = '"python"是我的名字'
我們使用轉義符號當然也是可以的啦!Python 允許使用反斜杠(\)把字串中的特殊字符進行轉義,像這樣:
'I\'m a python'
我們可以根據自己的喜好來選擇,真的棒!
轉義字符(\)相當好用,比如咱們一行內容太多的時候想換行,Python 又不是格式自由的語言,因此 Python 程式的換行、縮進都有其規定的語法,所以,Python 的運算式不允許隨便換行,如果程式需要對 Python 運算式換行咱們也可以使用它,像這樣:
s = '這是一段很有深度的文\
字,都寫在一行里就會太多了'
這樣的操作是可以的,方便我們的閱讀,當然,也可以這樣玩:
s = 1+3+5/7*\
6-2+1
對運算式也是可以換行的
長字串
前面的文章中咱們聊到過 Python 多行注釋使用三個引號(單引號、雙引號都行)來包含多行注釋內容,其實這是長字串寫法,只是由于在長字串中可以放置任何內容,包括放置單引號、雙引號都可以,如果所定義的長字串沒有賦值給任何變數,那么這個字串就相當于被解釋器忽略了,也就相當于注釋掉了,使用時像這樣:
s = '''
這是一個長字串,
里面包含了很多內容,
包括123456這些數字,
還有@#¥%……&*'""這些亂七八糟的符號
'''
print(s) #這樣就可以列印出這里面的內容啦
長字串是非常強大的,里面單引號和雙引號都可以包含,當然我們使用的時候,使用三個單引號或三個雙引號都是可以的啦
字串的拼接
如果我們把兩個字串寫在一起,就可以達到拼接的效果,極其簡單!就像這樣:
s = '我們是''兩個字串'
print(s) #運行后就會顯示:我們是兩個字串
當然這僅僅是其中一種特殊的方式,很多時候還是用不上的,我們普遍還是使用(+)來表示字串的拼接運算子,就像這樣:
s = '我們是'
a = '兩個字串'
print(s+a) #運行后就會顯示:我們是兩個字串
有趣的是我們還可以使用逗號來進行拼接(,),這種拼接方式,字串中間就會多出一個空格,像這樣:
s = '我們是'
a = '兩個字串'
print(s,a) #運行后就會顯示:我們是 兩個字串
這里需要注意的是,我們字串只能和字串進行拼接,如果是字串和數字進行拼接,就會出現報錯啦!TypeError: must be str, not int
這個時候我們只需要將數字轉換為字串就可,
python中str() 函式都可以將數值轉換成字串,像這樣:
s = '我的分數是'
a = 100
print(s+str(a)) #運行后就會顯示:我的分數是100
原始字串
在我們的程式中有一些特殊的存在,比如\n,它表示著換行,就像這樣:
print(hello\nworld) #這里的輸出就像下面那樣
'''
hello
world
'''
這個時候我偏偏想在中間加一個\n怎么辦呢?炒雞簡單,再加一個轉義符 \ 就可以搞定啦!像這樣:
print(hello\\nworld) #這樣就可以啦
但是如果一行中有很多這樣需要轉義的,都像這樣寫就太煩啦!所以我們又有一種超級簡單的方法!我們可以借助于原始字串來解決這個問題,原始字串以“r”開頭,原始字串不會把反斜線當成特殊字符,就像這樣:
print(r'hello\nworld')
字串內置函式
- str.capitalize()第一個字母改為大寫
回傳一個字串,并將字串第一個字母改為大寫
'aa'.capitalize() # Aa
- str.casefold()將大寫轉為小寫
"ABC".casefold() #abc
- str.center(width[, fillchar])填充字串
回傳一個長度為width的字串,如果width小于或等于str的長度回傳原字串,否則將str放在字串的中間兩邊用fillchar填充,fillchar默認為空格
'ab'.center(10) # ' ab '
'ab'.center(10, '*') # '****ab****'
- str.count(sub[, start[, end]])包含字串sub的個數
回傳str中包含字串sub的個數,start和end分別為開始查找和結束匹配的位置
'hello world'.count('l') # 3
'hello world'.count('l', 1, 5) # 2
- str.endswith(suffix[, start[, end]])字串是否以suffix結尾
判斷字串是否以suffix結尾,start和end分別為開始查找和結束匹配的位置
'hello world'.endswith('d') # True
'hello world'.endswith('d', 1 ,3) # False
- str.find(sub[, start[, end]])回傳sub在字串中的位置
回傳sub在字串中的位置,start和end分別為開始查找和結束匹配的位置
'python'.find('p') # 0
'Python'.find('n') # 5
- str.isspace()字串中的字符是否全為空白
字串中的字符是否全為空白
'a'.isspace() # False
' '.isspace() # True
- str.isalnum()字串是否全是數字和文字
字串是否全是數字和文字
'aa'.isalnum() # True
'a*a'.isalnum() # False
'11'.isalnum() # True
- str.isalpha()字串是否全是文字
字串是否全是文字
'aa'.isalpha() # True
'11'.isalpha() # False
- str.isidentifier()判斷字串是否為合法的python識別符號
判斷字串是否為合法的python識別符號
'a'.isidentifier() # True
'!'.isidentifier() # False
- str.islower()是否全為小寫字母
是否全為小寫字母
'aa'.islower() # True
'Aa'.islower() # False
- str.istitle()是否為標題
字串是否包含大寫字母,并且大寫字母前面不能有其他大寫字母和小寫字母
'Python'.istitle() # True
'python'.istitle() # False
- str.isupper()是否全為大寫
字串中的字母是否全為大寫
'AA'.isupper() # True
'aa'.isupper() # False
- str.ljust(width[, fillchar])填充字串
如果str的長度比width短,則在str的右側補充fillchar,直到長度等于width,fillchar默認為空格
'100'.ljust(6,'0') # '100000'
- str.lower()大寫字母全部改成小寫字母
將字串中的大寫字母全部改成小寫字母并回傳
'AAAAAA'.lower() # aaaaaa
- str.upper()小寫字母全部改成大寫字母
將字串中的小寫字母全部改成大寫字母并回傳
'aaaaaa'.upper() # AAAAAA
- str.replace(old, new[, count])替換字串
將字串中old替換為new,count為可選引數,表示要替換的個數,默認全部替換
'aaabbb'.replace('a', 'b') # bbbbbb
- str.rfind(sub[, start[, end]])右向左查找字串sub
從右向左在str中查找字串sub,并回傳查找到的第一個下標,start和end為查找的下標范圍
如果沒有查找到回傳-1
'abcde'.rfind('a') # 0
'abcde'.rfind('q') # -1
- str.swapcase()字串中字母的大小寫互換
將字串中字母的大小寫互換
'AAAaaa'.swapcase() # aaaAAA
- str.title()字串中單詞的第一個字母改為大寫其余的改為小寫
將字串中單詞的第一個字母改為大寫其余的改為小寫
'aaaaaa'.title() # Aaaaaa
總結
沒有任何總結
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/274734.html
標籤:python
上一篇:單線激光雷達(Lidar)學習四:使用雷達進行目標跟隨(二)
下一篇:Python演算法篇:冒泡排序
