Python—字符串的操做

字符串的操做linux

變量:
變量只能是 字母,數字或下劃線的任意組合,但首個字符不能爲數字,且不能有空格
如下關鍵字不能聲明爲變量:
and ,as,   assertbreakclasscontinuedefdelelifelseexcept 
execfinallyforfrom ,golbal,  ifimportinis ,lamda ,notorpassprintraise
returntrywhile ,with ,yield
變量的命名

字符串都是可哈希的(不可變),所以字符串的操做都是生成新的字符串,不是修改原始值。可是列表是可變的,所以列表的方法都是直接修改原始值。git

方法按字母索引:api

1.  C-Fide

 1 >>> name = "my name is gkxxxx"
 2 >>> name.capitalize()  3 'My name is gkxxxx'
 4 >>> name.casefold()  5 'my name is gkxxxx'
 6 >>> #casefold 與lower很像,不過lower只針對ASCII碼的字母
 7 >>> name.center(10,"-")  8 'my name is gkxxxx'
 9 >>> name.center(40,"-")
10 '-----------my name is gkxxxx------------'
11 >>> #輸出40個字符,若name不足,用「-」補足,其中name裏的空格也算字符數
12 >>> name.endswith("x") # 'gkxpanda'.startswith('x',2,5) ---> 對字符串切片2,5(顧頭不顧尾),判斷是否以x開頭 13 True                       #  對於判斷字符串的開頭結尾,能夠當作判斷 str[0],str[-1],由於字符串也有index
14 >>> name.endswith("aa")
15 False
16 >>> #判斷字符串結尾,正確返回true,好比是否以.com結尾,不能爲空,會報錯。
17 >>> name.expandtabs(tabsize=30) 18 'my name is gkxxxx'
19 >>> #假如name中有「\t」,則把擴大tap的字符數。  ‘g\tkx’若是默認,則是\t往前補8位,好比 此處字母只有1個g,會再補7個空格
20 >>> name.find("name") #找不到返回 -1 21 3
22 >>> #找到name的起始位置,Ps:字符串也能夠切片,以下:
23 >>> name[name.find("name"):9]
24 'name i'
25 >>> name[name.find("name"):7]
26 'name'
27 >>> name2 = "my name is {name_2}"
28 >>> name2.format(name_2=name) 29 'my name is my name is gkxxxx'
30 >>> #format 格式化輸出
31 >>> name2.format_map({'name_2':'gkxxx'}) 32 'my name is gkxxx'
33 >>> #format_map 也是格式化輸出,不過用的是字典,不多用就是了

 

#format
>>> name = '1'
>>> age = 1
>>> a = '{},{}'.format(name,age)
>>> a
'1,1'

字符串中有多少大括號,foamat後面就能夠跟幾個ui

 

 

 

 

2.   i加密

 1 >>> name.index('m')  2 0
 3 >>> print('ab23'.isalnum)
 4 <built-in method isalnum of str object at 0x000001F2A409C228>
 5 >>> #包含全部的英文字符和1~9,返回true,若是有特殊字符就返回false
 6 >>> name.isalpha()  7 False
 8 >>> name_3 = 'abc'
 9 >>> name_3.isalpha()
10 True
11 >>> name.isdecimal() 12 False
13 >>> #是不是十進制
14 >>> name.isdigit() 15 False
16 >>> #是不是數字
17 >>> name.isidentifier() #判斷是否是一個合法的標識符(變量名)
18 False
19 >>> name_3.isidentifier()
20 True
21 >>> name_3.islower() 22 True
23 >>> #判斷是否是小寫
24 >>> print('33'.isnumeric()) 25 True
26 >>> #與 .isdigit差很少
27 >>> #帶小數返回false
28 >>> name_4 = 'My Name Is Gkxx'
29 >>> name_4.istitle() #判斷是否開頭都是大寫
30 True
31 >>> name_4.isprintable() #若是是字符串不用考慮是否能夠打印,相似linux ttyfile drive file不能打印
32 True
33 >>> name_4.isupper() 34 False
35 >>> 

 3. J~Zspa

 1 >>> print('+'.join(['1','2','3','4','5']))
 2 1+2+3+4+5
 3 >>> print('+'.join(['1','2','3','4','5'])) #emmmm,如結果所示
 4 1+2+3+4+5
 5 >>> name.ljust(40,'*')  #同center,左邊字符串不足位數,自動補位
 6 'my name is gkxxxx***********************'
 7 >>> name.rjust(40,'-')  #同center,ljust 右邊字符串不足位數,自動補位
 8 '-----------------------my name is gkxxxx'
 9 >>> name.lower()  #全小寫,作驗證碼登錄能夠用f
10 'my name is gkxxxx'
11 >>> name.upper()  #全大寫
12 'MY NAME IS GKXXXX'
13 >>> name_5= '     gkx       '
14 >>> name_5.lstrip() 15 'gkx       '
16 >>> name_5.rstrip() 17 '     gkx'
18 >>> name_5.strip() #'sdgx@sd f#'.strip(' @#') ---> 'sdgx@sd f'只要是位於首尾的特殊字符,空格,數字,直接寫在.strip()的參數裏,均可以刪除,可是中間的就不會刪 19 'gkx'
#strip的坑:
>>> a = 'aaa****ab'
>>> a.strip('ab')
>>'****'     #用字母去作strip的時候,會去掉全部的字母
20 >>> 
21 >>> ser = str.maketrans('abcdefg','1234567') 22 >>> text = 'c is after a' 23 >>> text.translate(ser) 24 '3 is 16t5r 1' 25 >>> # maketrans能夠設置一一對應的字符,translate能夠翻譯maketrans,從而達到加密效果
26 >>> 
27 >>> name_6 = 'my name is gkx'
28 >>> name_6.partition(" ") 29 ('my', ' ', 'name is gkx')
30 >>> #根據字符串已有的分隔符,把字符串分割成tuple
31 >>> 
32 >>> name.replace('x','WW')
33 'my name is gkWWWWWWWW'
34 >>> name.replace('m','M',0)
35 'my name is gkxxxx'
36 >>> name.replace('x','WW',1) #不寫1則替換全部的X爲WW,寫了就只替換第一處x 37 'my name is gkWWxxx'
38 >>> #對字符串的值進行替換,最後一個數字表示,想替換的個數
39 >>> 
40 >>> name.rfind('y') #同find,不過find默認找到最左邊的值的index,rfind默認找到最右邊的值的index
41 1
42 >>> 
43 >>> name.split(' ')  #根據字符串已有的分隔符,把字符串分割成列表,此處分隔符爲空格
44 ['my', 'name', 'is', 'gkxxxx']

  "aa_bb_cc".rsplit('_',1) #從右邊開始分割,只分割一次
  >>> ['aa_bb','cc']
45 >>> name_7 = '1+2\n+3' 46 >>> name_7.splitlines() 47 ['1+2', '+3'] 48 >>> #同split ,默認是用\n換行符,分割 49 >>> 50 >>> name_8 = 'MY name IS gkx' 51 >>> name_8.swapcase() #轉換大小寫 52 'my NAME is GKX' 53 >>> name_8.title() #首字母大寫,每一個隔開的(空格,特殊字符,數字)單詞首字母大寫 54 'My Name Is Gkx' 55 >>> name_8.zfill(50) #自動用0補位 56 '000000000000000000000000000000000000MY name IS gkx' 57 >>>
相關文章
相關標籤/搜索