1. 程式人生 > >day2 字符串常用方法總結

day2 字符串常用方法總結

mes 一個 並且 lun int() join() eba false 換行符

字符串在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 字符串常用方法總結