python无效的类字符串_Python基础-字符串处理
?你好,我是goldsunC
讓我們一起進步吧!
字符串操作與處理
字符串是編程語言中經常會遇見的東西,而字符串又和那些編程語句什么的不太一樣,我們可能需要對一個字符串進行各種各樣的處理,后面我將給出我整理的一些常用的對字符串進行處理的方法。
字符串創建
將一系列字符包裹在一對單引號或者雙引號中即可創建字符串,就像這樣:
>>> 'I am goldsunC'
'I am goldsunC'
>>> "I am goldsunC"
'I am goldsunC'
首先,不管你是用單引號還是雙引號創建的字符串,在shell中輸出的均為單引號的字符串,而實際上單引號和雙引號創建出的字符串沒有實質性不同,那為什么不規范成一種創建格式呢?因為它有一點作用,試想,假如你的字符串是一段話,里面還包括引號,比如:
>>> 'I said :"I am goldsunC"'
'I said :"I am goldsunC"'
這樣就體現了有兩種字符串的好處了:使得我們可以創建本身就含有引號的字符串。
我們都知道,Python語言中有四種數據類型,分別是:
布爾型、整型、浮點型、字符串型
布爾型:只表示真假,只有True和False兩種取值。一般為邏輯表達式形式。
整型:整數,如1、3、5等。
浮點型:即帶小數點的類型,如1.23、1.0e8等。
字符串型字符組成的序列,如"I am goldsunC",像字母、數字、空格等都可以作為字符。
因為在編程語言中經常會將一些對象賦值給一些變量,如果你想查看某個變量的類型,只需要這樣輸入即可:
type(variable)
#For example
>>> type(2)
>>> type(1+1<5)
# bool即為布爾型。
>>> type(1.23)
>>> type('I am goldsunC')
同時,你也可以將其他類型的數據轉換為字符串類型,如下:
# 將整型轉換為字符串類型
>>> str(100)
'100'
對浮點型來說轉化為字符串是和整型一致的,布爾型也可以轉化為字符串,但是可能無法轉化為你想要的字符串,因為布爾型只有兩種取值,你可以試著轉化一下,會有下面的結果:
>>> str(1+1<5)
'Ture'
字符串處理
字符串相接
當你擁有兩個字符串:'I am '、'goldsunC',你想把后者加在前者的后邊成為一個新字符串'I am goldsunC',在Python語言中這個操作非常簡單,你只需要輸入:
>>> 'I am '+'goldsunC'
'I am goldsunC'
#當然,你也可以這樣:
>>> a = 'I am '
>>> b = 'goldsunC'
>>> a+b
'I am goldsunC'
字符串復制
復制相同的已有字符串,用 '*' 即可,如:
>>> 'goldsunC' *3
'goldsunCgoldsunCgoldsunC'
提取字符串中的字符
提取字符串中的字符一般用方括號[]來解決
如字符串 'goldsunC' ,你如果想要提取出來其中的第四個字符d,那么你只需要輸入:
>>> 'goldsunC'[3]
's'
你可能會想,為什么方括號中的索引值是3,而明明字符d是字符串中的第4個字符啊,而實際上,方括號中的索引值并不是代表你要提取的第幾個字符,它的含義是你要提取的字符相對于其所在字符串中第一個字符的偏移量(向右側偏移為正),對一個字符串來說,其中的第一個字符相對于第一個字符的偏移量為0,第二個的偏移量為1,以此類推,同樣的,偏移量也可以為負數,即向左偏移,這也體現了Python語言聰明的一點,以上述字符串 'goldsunC' 為例:
>>> A = 'goldsunC'
>>> A[0]
'g'
>>> A[7]
'C'
>>> A[-1]
'C'
而實際上有時候我們不止需要提取一個字符,我們可能需要某個字符串中的半串,亦或者需要其中的某一個片段,那我們應該怎么做呢,沒錯,還是需要方括號[]來幫助我們:
#還是以'goldsunC'為例:
#假定我們需要提取它中的 sun ,你需要這樣做:
>>> 'goldsunC'[4:7]
'sun'
>>> 'goldsunC'[-4:-1]
'sun'
#亦或者你想每隔兩個步長提取一個字符:
>>> 'goldsunC'[0:-1:2]
'glsn'
總結:通過上邊的例子我們不難總結出來對字符串使用方括號提取字符的規律。首先,其有效引用格式為[start : end : step],其中:
start : 提取字符串的起始偏移位
end : 提取字符串的終止偏移位(不包括此位,提取到"end-1")
step : 提取步長。
其中除了start和end之間的冒號之外,所有參數均可省略。[:] : 提取從開頭到結尾的整個字符串。
[start:] : 從start提取到結尾。
[:end] : 從開頭提取到 end - 1。
以此類推,親愛的你會舉一反三嗎哈哈哈。
另外需要注意的一點是:Python語言在提取操作中對于無效偏移位的容忍程度非常大,即在提取時,小于一個字符串起始位置的偏移量會被當作0,而大于終止位置的偏移位會被當做 -1 。
獲取字符串長度
字符串長度即是字符串中包含的字符數,比如空格等字符也算入內,獲得字符串的長度對我們對它進行相關處理非常有用,比如剛才學會的字符提取。而獲得字符串長度的方法很簡單,就像得到一個對象的數據類型一樣,你只需要輸入:
>>> len('goldsunC')
7
>>> len('I am goldsunC')
13
分割字符串
在之前的各種方法,在我看來都算是廣義的操作方法,直接對字符串本身進行操作即可,而到這里,我們就需要用一些函數來實現我們想要的功能了,當然,你也可以選擇不用函數,自己去編寫程序獲得你想要的結果,可是放著已經有的車不去開而去選擇自己造一輛車是非常不明智的,正是各種函數的存在才極大的增加了我們的工作效率。
分割字符串需要用到split()函數,圓括號里面的參數為分割符號,如果為空則默認分割符號為空白字符即:換行符、空格、制表符(Tab)。
舉例:
# 變量賦值
>>> str ='I am goldsunC. And everyone says I am handsome.'
# One
>>> str.split('.')
['I am goldsunC','And everyone says I am handsome','']
# Two
>>> str.split()
['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']
# Three
>>> str.split('d')
['I am gol', 'sunC. An', ' everyone says I am han', 'some.']
從上邊的例子我們很容易知道split()函數的使用方法,就是圓括號里面是什么字符,就將原字符串以什么字符分割而已,很好理解。
合并字符串
既然有分割字符串,那么肯定有合并字符串,合并字符串的函數是join()函數,和分割函數split()相比,合并函數的引用方法似乎有些奇怪。
舉例:
#創建鏈表
>>> str_list = ['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']
# One
>>> ' '.join(str_list)
'I am goldsunC. And everyone says I am handsome.'
# Two
>>> ','.join(str_list)
'I,am,goldsunC.,And,everyone,says,I,am,handsome.'
通過例子我們可以看出來,奇怪的地方在于引用方法,join()函數的圓括號里面不是合并符,而是我們要合并的對象,合并符號在函數之前,不過可能是Python語言這樣設置是為了讓我們有更好的理解吧,不管怎樣,記住就得了哈哈哈。
常用字符串操作的函數
前邊大致介紹了部分對于字符串的簡單操作方法,而實際上,對字符串的操作還有很多很多,而Python中也提供了很多很多可讓我們使用的處理函數,其中分割函數和合并函數被我單獨拿出來講的原因是因為它們跟其它的函數有些不同而且更長時間會使用到,接下來我列出一些其它的對字符串操作比較常用的函數。
函數名稱作用startswith('str')判斷是否以str開頭,返回值為'True'或者'False'endswith('str')判斷是否以str結尾,返回值為'True'或者'False'find('str')查看字符串中第一次出現str的偏移位rfind(‘str’)查看字符串中最后一次出現str的偏移位count('str')返回字符串中出現str的總次數isalnum('str')判斷字符串中的所有字符是否都為字母或者數字(注意空格也是字符)capitalize()將字符串首字母變成大寫title()將字符串中所有單詞的開頭字母變成大寫upper()將字符串中所有字母變成大寫lower()將字符串中所有字母變成小寫swapcase()將所有字母的大小寫轉換center(num)將字符串在num個字符位里居中ljust(num)將字符串在num個字符位里左對齊rjust(num)將字符串在num個字符位里又對齊replace(str1,str2,num)將字符串中的str1更換成str2,num參數可省略,如果省略則默認只更換第一處,不省略則更改num處。strip('str')刪除字符串首和尾的strlstrip('str')單刪除字符串左側(首)的strrstrip('str')單刪除字符串右側(尾)的str
當然,關于字符串處理的函數還有很多,這些只是其中的一部分,如果有其它需求還得自己去找才行,當然見得多用的多了才更好。
總結
以上是生活随笔為你收集整理的python无效的类字符串_Python基础-字符串处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 半透明色值_Androi
- 下一篇: 服务器虚拟光驱无法加载,Proxmox/