mlgjb

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

    原文传送门:请点击

分类:

技术点:

相关文章: