Python中str字符串的功能介紹


                                         Str字符串的功能介紹

1. 字符串的操作

  1. 字符串的連接操作

    符號: +
    格式:str1 + str2
    例如:str1 = 'I Love'
         str2 = 'You!'
         print(str1 + str2)
         >>> 'I Love You!'
    返回值:str
    
  2. 字符串的復制操作

    符號: *
    格式:str * num
    例如:str = 'abc'
         num = 3
         print(str1 * num)
         >>> 'abcabcabc' 
    返回值:str
    
  3. 字符串的索引操作

    符號: []
    格式:str[index]
    例如:str = 'abcde'
         print(str[2])
         >>> 'c'
    返回值:str
    
  4. 字符串的切片操作

    符號: [::]
    格式:str[index:index:step]
    例如:str = 'abcdefg'
         print(str[:])
         >>> 'abcdefg'
         #取字符串所有內容,開頭的0可以忽略
         print(str[:3])
         >>> 'abc'
         #取出字符串索引0-3的內容(顧頭不顧尾,不包含索引3的對象)
         print(str[:5:2])
         >>> 'ace'
         #取出字符串索引0-5的內容,每2個索引取一次
         print(str[3:])
         >>> 'defg'
         #取出字符串索引3開始到結尾的內容
         print(str[-2:])
         >>> 'fg'
         #取出字符串倒數第2開始到結尾的內容  
    返回值:str 
    

2. 內置方法

  1. 連接

    格式:x.__add__(y)等同於x+y
    返回值:str 
    
  2. 包含

    格式:x.__contains__(y)
    返回值:bool
    
  3. 相等

    格式:x.__eq__(y)等同於x==y
    返回值:bool
    
  4. 大於等於

    格式:x.__ge__(y)等同於x>=y
    返回值:bool
    
  5. 訪問屬性方法(文件操作時用)

    格式:x.__getattribute__(self,name)
    返回值:tuple
    
  6. 獲取鍵值對(字典操作時用)

    格式:x.__getitem__(key)
    返回值:鍵的值  
    
  7. 大於

    格式:x.__gt__(y)等同於x>y
    返回值:bool
    
  8. 哈希值

    格式:x.__hash__()
    返回值:哈希值,int類型
    
  9. 迭代器

    格式:x.__iter__()
    返回值:迭代器
    
  10. 小於等於

    格式:x.__le__(y)等同於x<=y
    返回值:bool
    
  11. 長度

    格式:x.__len__()等同於len(x)
    返回值:int類型
    
  12. 小於

    格式:x.__lt__()
    返回值:布爾類型
    
  13. 復制

    格式:x.__mul__(y)等同於x*y
    返回值:str
    

    注::此處的y必須是int類型

  14. 不等於

    格式:x.__ne__(y)等同於x!=y
    返回值:bool
    
  15. 右->左 復制

    格式:x.__rmul__(y)等同於y*x
    返回值:str
    

    注:此處的y必須是int類型

3. 常用方法

  1. 首字母大寫,后面的小寫

    格式:x.capitalize()
        #開頭第一個單詞首字母大寫,后面的所有字符串全部小寫
    例如:x = = 'i am A 好 boy'
        print(x.capitalize())
        >>> 'I am a 好 boy'
    返回值:str
    
  2. 全部字符小寫

    格式:x.casefold()
        #字符串中所有單詞的所有字母全部小寫
    例如:x = = 'i am A 好 boy'
        print(x.casefold())
        >>> 'i am a 好 boy'
    返回值:str
    
  3. 居中,兩邊默認以空格填充

    格式:x.center()
        #定義字符串的長度,不足長度時,兩邊以指定字符串進行填充
    例如:x = 'abc'
        print(x.center(20,'*'))
        >>> '********abc*********'
    返回值:str
    
  4. 計數(默認全文計數)

    格式:x.count(str,index1,index2)
        #指定開始和結束范圍來統計某字符串的個數
    例如:x = 'sffefwsf'
        print(x.count('sf'),0,8)
        >>> 2
    返回值:int類型
    
  5. 編碼

    格式:x.encode()
        #指定字符串的編碼格式
    例如:x.encode(encoding='utf-8')#轉換為utf-8格式
    返回值:bytes
    
  6. 以什么為結尾

    格式:x.endswith(str,index1,index2)
        #指定字符串的開始和結束范圍,判斷所選區域是否是以指定字符串結尾
    例如:x = 'adfd'
        print(x.endswith('fd',2,3))
        >>> True
    返回值:bool
    
  7. 把\t轉換為空格

    格式:x.expandtabs()
        #默認開頭到\t為8個字節,不足以空格填充
    例如:x = 'i am\t A\t 好 boy'
        print(x.expandtabs())
        >>> 'i am     A       好 boy'
    返回值:str
    
  8. 查找

    格式:x.find(str,index1,index2)
        #指定開始和結束的范圍,查找指定區域內是否由指定的字符串(只返回查找到第一個的索引值)
    例如:x = 'asdfdsfsafsaf'
        print(x.find('df',1,8))
        >>> 2
    返回值:int類型
    

    注:如果find未查找到,將返回為-1

  9. 格式化

    格式:x.format(*args)
        #字符串的格式化可以有參數,可以無參數,可以是索引值參數,也可以是關鍵字參數
    1. 無參數
        例如:s1 = 'I {} {} {}'   
            print(s1.format('love','you','!'))
            >>> 'I love you !'
    2. 索引參數    
        例如:s1 = 'I {0} {1} {0} {1}'
            print(s1.format('love','you'))
            >>> 'I love you love you'
         注:使用索引參數時,只能按順序,從索引0開始
    3. 關鍵字參數
        例如:s1 = 'I {m} {n}'
            print(s1.format(m = 'love',n = 'you'))
            >>> 'I love you'
    4. 格式限定符
      填充常和對齊一起使用:
         ^ < > 分別是居中,左對齊和右對齊,后面帶寬度
         : 后面帶填充的字符,只能是一個字符,默認是空格
        例如:
     無(位置)參數:s1 = 'I love you {}'
                 print(s1.format(', very much !'))
             >>> 'I love you , very much !'
     默認居中方法:s1 = 'I love you {:^18}'
                 print(s1.format(', very much !'))
             >>> 'I love you   , very much !  '
     指定字符居中:s1 = 'I love you {:*^18}'
                 print(s1.format(', very much !'))
            >>> 'I love you **, very much !***'
     指定字符左對齊:s1 = 'I love you {:*<18}'
                  print(s1.format(', very much !'))
              >>> 'I love you , very much !*****'
     指定字符右對齊:s1 = 'I love you {:*>18}' 
                  print(s1.format(', very much !'))
              >>> 'I love you *****, very much !'
    5. 精度與類型f
        例如:s1 = '圓周率大概是{}'
             print(s1.format(3.1415926))
         >>> '圓周率大概是3.1415926'
             s1 = '圓周率大概是{:.2f}'
             print(s1.format(3.1415926))
         >>> '圓周率大概是3.14'
             s1 = '圓周率大概是{:.2f}'
             print(s1.format(3.1415926))
         >>> '圓周率大概是3.1416'
       注:精度一般和浮點一起使用,取值時使用四舍五入法
    6. 進制操作
      主要的進制為b、d、o、x,分別是二、十、八、十六進制
        例如:
      十進制:s1 = 'The pen values {} yuan!'
             s1 = 'The pen values {:d} yuan!'
             print(s1.format(17))
         >>> 'The pen values 17 yuan!'
      二進制:s1 = 'The pen values {:b} yuan!'
             print(s1.format(17))
         >>> 'The pen values 10001 yuan!'
      八進制:s1 = 'The pen values {:o} yuan!'
             print(s1.format(17)) 
         >>> 'The pen values 21 yuan!'
      十六進:s1 = 'The pen values {:x} yuan!'
             print(s1.format(17)) 
         >>> 'The pen values 11 yuan!'
    7. 金融字符,千分位 即,
        例如:s1 = 'The phone is {}$ !'
             print(s1.format(10000000))
         >>> 'The phone is 10000000$ !'
             s1 = 'The phone is {:,}$ !'
             print(s1.format(10000000))
         >>> 'The phone is 10,000,000$ !'
    返回值:str
    
  10. 查找

    格式:x.index(str,index1,index2)
        #用法和find一樣
    返回值:int
    

    注::當index未查找到,程序將報錯

  11. 非符號字符串

    格式:x.isalnum()
        #字符串中可以有大小寫,可以有數字,但不可以有符號
    返回值:bool
    
  12. 純字母的字符串

    格式:x.isalpha()
        #字符串中可以有大小寫,但不可以有數字和符號
    返回值:bool
    
  13. 純數字的字符串

    格式:x.isdecimal()
        #字符串中只可以數字
    返回值:bool
    
  14. 純數字的字符串

    格式:x.isdigit()
        #字符串中只可以數字
    返回值:bool
    
  15. 開頭字母的字符串

    格式:x.isidentifier()
        #字符串以字母開頭,可以是大小寫,后面可以有數字,但數字不能開頭
    返回值:bool
    
  16. 全部小寫

    格式:x.islower()
        #字符串全部是小寫,也可以有數字,數字可以開頭,但不能全數字
    返回值:bool
    
  17. 包含中文數字

    格式:x.isnumeric()
        #字符串中可以有數字,也可以有中文大小寫數字
    返回值:bool
    
  18. 可打印

    格式:x.isprintable()
        #打印為空,則為假
    返回值:bool
    
  19. 空格

    格式:x.isspace()
        #字符串中只能是空格
    返回值:bool
    
  20. 標題

    格式:x.istitle()
        #字符串中每個單詞首字母大寫
    返回值:bool
    
  21. 全部大寫

    格式:x.isupper()
        #字符串中可以有數字,數字可以開頭,但必須有大寫字母
    返回值:bool
    
  22. 拼接

    格式:x.join(str)
        #把字符串以指定字符串進行相連
    例如:x = 'abcde'
         print('_'.join(x))
         >>> 'a_b_c_d_e'
    返回值:str
    
  23. 左對齊

    格式:x.ljust(str) 
        #字符串左對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會左對齊
    例如:x = 'abcde'
         print(x.ljust(12,'*'))
         >>> 'abcde*******'
    返回值:str
    
  24. 全部小寫

    格式:x.lower()
        #字符串中所有單詞,所有字母全部小寫
        #與casefold()功能一樣
    
    返回值:str
    
  25. 去除左邊空格

    格式:x.lstrip()
        #去除對字符串左邊的指定字符串,字符串中間和結尾的指定字符串不做處理,默認去除的是空格
    例如:x = 'aaafdfdfaaadfdsaaa'
         print(x.lstrip('a'))
         >>> 'fdfdfaaadfdsaaa'
    返回值:str
    
  26. 字符串進行分段

    格式:x.partition(str)
        #把字符串以從左到右第一個指定字符串為元素進行分段,以元組形式展現
    例如:x = 'acbadfsadfsdfsd'
         print(x.partition('sa'))
         >>> ('acbadf', 'sa', 'dfsdfsd')
    返回值:tuple
    
  27. 字符串替換

    格式:x.replace(old,new,count)
        #把字符串中指定的字符串替換為新字符串,默認全部替換,也可以指定替換次數,如果次數超過存在的個數,將全部替換
    例如:x = 'acbadfsadfsdfsd'
         print(x.replace('df','A',7))
         >>> 'acbaAsaAsAsd'
    返回值:str
    
  28. 右→左 查找

    格式:x.rfind(str,index1,index2)
        #功能同find()一樣
    返回值:int
    
  29. 右→左 查找

    格式:x.rindex(str,index1,index2)
        #功能同index()一樣
    返回值:int
    
  30. 右對齊

    格式:x.rjust(str)
        #字符串右對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會右對齊
    例如:x = 'adc'
         print(x.rjust(6,'%'))
         >>> '%%%adc'
    返回值:str
    
  31. 右→左 字符串分段

    格式:x.rpartition(str)
        #把字符串以從右到左第一個指定字符串進行分段,以元組形式展示
    例如:x = 'abccbacbd'
         print(x.rpartition('cb'))
         >>> ('abccba', 'cb', 'd')
    返回值:tuple
    
  32. 字符串切片

    格式:x.rsplit(str)
        #把字符串以指定字符串進行切片,並以列表的形式展現
    例如:x = 'abccbacbd'
         print(x.rsplit('cb'))
         >>> ['abc', 'a', 'd']
    返回值:list
    
  33. 去除右邊空格

    格式:x.rstrip(str)
        #去除字符串最右邊的指定字符串,左邊和中間的指定字符串不做處理,默認去除的是空格
    例如:x = 'aaafdfdfaaadfdsaaa'
         print(x.rstrip('a'))
         >>> 'aaafdfdfaaadfds'
    返回值:str
    
  34. 切片

    格式:x.split()
        #把字符串以指定字符串進行切片,並以列表的形式展現
        #功能同rsplit()一樣
    返回值:list
    
  35. 換行符分段

    格式:x.splitlines()
        #把字符串以換行符進行切片,並以列表的形式展現
    返回值:list
    
  36. 以什么為開頭

    格式:x.startswith(str,index1,index2)
        #指定字符串的開始和結束范圍,判斷指定區域是否是以指定字符串開頭
    例如:x = 'adafsdaf'
         print(x.startswith('da',1,8))
         >>> True
    返回值:bool
    
  37. 去除兩邊空格

    格式:x.strip(str)
        #去除字符串兩邊的指定字符串,中間的指定字符串不做處理,默認去除的是空格
    例如:x = 'aaadfsaaafdsfaaa'
         print(x.strip())
         >>> 'dfsaaafdsf'
    返回值:str
    
  38. 大小寫互轉

    格式:x.swapcase()
        #字符串中所有的字母進行大小寫相互轉換
    例如:x = 'aBcdE'
         print(x.swapcase())
         >>> 'AbCDe'
    返回值:str
    
  39. 標題化

    格式:x.title()
        #對字符串中所有單詞首字母大寫,單詞中間的大寫全部轉換為小寫
    例如:x = 'asd faDSdsf sdf'
         print(x.title())
         >>> 'Asd Fadsdsf Sdf'
    返回值:str
    
  40. 全部變大寫

    格式:x.upper()
        #字符串中所有字母全部轉換為大寫
    例如:x = 'DFdgDdfdg'
         print(x.upper())
         >>> 'DFDGDDFDG'
    返回值:str
    
  41. 左對齊,零填充

    格式:x.zfill()
        #字符串左對齊,指定字符串長度,不足部分以0填充
    例如:x = 'afd'
         print(x.zfill(5))
         >>> '00afd'
    返回值:str
    
  42. 映射函數

    x.maketrans(*args)
        #把兩個字符串進行一一對應,兩個字符串長度必須一致
    格式:str.maketrans(str1,str2)
         bytearray.maketrans(str1,str2)
         bytes.maketrans(str1,str2)
    返回值:dict
    
  43. 映射函數

    x.translate(*args)
        #把maketrans()得到的映射表應用出來
    格式:x.translate(str.maketrans(str1,str2))
    返回值:str


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM