day2 字符串常用方法總結
字符串在Python中是常用的功能,我們知道,字符串在Python中存儲的形式是以字符數組的形式存在,比如"alex"在內存中的存儲形式是:["a","l","e","x"],因為我們發現字符串的功能很多與列表的功能相似,比如切片s[:],索引s[index]等常用的方法,我們要知道,既然是字符串的方法,那就有字符串獨有之處,字符串可以分割,可以合並,有長度,能夠查找替換,還可以設置字符串長度格式,最主要的是跟文件的操作一起使用,我們在基礎裏面經常操作文件這種實物,文件裏面存儲的都是字符串,那就要用到字符串的方法,下面來看看字符串常用的功能。
1.split(self,sep)
字符串的拆分功能,我們經常會拆分文件中的內容,比如文件中存儲用戶的用戶名和密碼,以冒號表示,name:pwd,那麽我們想得到用戶名和密碼,就可以使用字符串的拆分功能,下面我們來看看具體的實例:
>>> name = "alexissb"
>>> name.split("is")
[‘alex‘, ‘sb‘]
>>> user = "alex:is:sb"
>>> user.split(":")
[‘alex‘, ‘is‘, ‘sb‘]
>>> name.split("D")
[‘alexissb‘]
從實例中可以看出,字符串的拆分是以某個標識為拆分點,拆成前後部分。有多少個這樣的標識符就能拆分成n+1部分。拆分形成的是數組,把拆分的內容放在一個數組中,並且,如果沒有這個拆分符的話,那麽就只形成一個字符元素的字符數組。
2.splitlines(self)
splitlines()是以換行符的形式進行拆分的,在文件讀取的時候有用,比如我們想讀取文件的每一行,然後找到文件的位置,刪除這個位置的話就可以使用。
下面來看一個簡單的實例:
>>> message = """
... alex
... is
... sb
... """
>>> message
‘\nalex\nis\nsb\n‘
>>> message.splitlines()
[‘‘, ‘alex‘, ‘is‘, ‘sb‘]
>>> message.split("\n")
[‘‘, ‘alex‘, ‘is‘, ‘sb‘, ‘‘]
從上面程序可以看出,splitlines()是按行的形式進行拆分的,但是split()和splitlines()還是有一些區別的。比如split()如果末尾有空行,是會顯示內容的,顯示為空;但是splitlines()卻屏蔽沒有內容的行。(備註:字符串末尾沒有信息的內容)
3.partition(self,sep)
partition(self,sep)拆分成三部分(head,sep,tail)想成的是一個元組,以分割標識符為單位進行拆分,拆分成前,中,後三部分。在python中有三種拆分的方法,split()、splitlines()。來進行查分。
實例如下:
>>> name = ‘alexissb‘
>>> name.partition("is")
(‘alex‘, ‘is‘, ‘sb‘)
拆分在字符串中非常常用,是很常用的方法,在文件操作中使用,我們可以看出上述三種不同拆分方法的區別以及共同之處。要根據需求來使用。
4.isdigit() isnumeric() isdecimal()
判斷數字形式的字符串在用戶輸入的時候很常用,我們知道,如果用戶輸入的是一個不是數字形式的字符,我們使用int()函數,那麽就會報錯,我們知道,input()函數默認用戶輸入的都是字符格式,因為當我們需要使用數字的時候,我們需要用int()函數來進行轉換,轉換的時候我們就需要用到isdigit()類判斷的函數,對用戶輸入的格式進行判斷。下面來看一個實例:
>>> num = input("Please input your luncy num:")
Please input your luncy num:6
>>> num1 = input("Please input your lucky num:")
Please input your lucky num:d12
>>> num.isdigit()
True
>>> num1.isdigit()
False
>>> int(num)
6
>>> int(num1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ‘d12‘
從上面代碼可以看出,在我們需要用戶輸入數字的時候要使用if函數進行判斷,不然就會報錯。
5.join()
join()顧名思義是用來字符串鏈接的,我們知道,字符串是列表形式存儲的,因為我們在鏈接的時候可以與列表進行列表,而且可以指定鏈接的格式。
>>> l1 = ["11","22","33"]
>>> ":".join(l1)
‘11:22:33‘
>>> name = "alex"
>>> name.join(l1)
‘11alex22alex33‘
>>> name.join("sb")
‘salexb‘
>>> "".join(l1)
‘112233‘
從上面代碼可以看出,字符串可以與列表鏈接,列表中的每一個元素都與字符串進行鏈接,為此我們在遍歷文件的時候,可以使用split()進行拆分,然後使用join()進行鏈接,這樣也是可以的,我們可以使用"",讓列表中的每個元素與空進行鏈接。
還有很多方法,就不一一介紹了,因為哪些方法都是差不多的。要我們經常使用。不然很容易忘記,上述方法是我們常用的。
day2 字符串常用方法總結