Python全栈之路——字符串(Day 03)

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.__ge__(y)等同于x>=y
    返回值:bool
    
  2. 访问属性方法(文件操作时用)

    大于

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

    小于等于

    格式:x.__le__(y)等同于x<=y
    返回值:bool
    
  4. 长度

    复制

    右->左 复制

    格式:x.capitalize()
        #开头第一个单词首字母大写,后面的所有字符串全部小写
    例如:x = = 'i am A 好 boy'
        print(x.capitalize())
        >>> 'I am a 好 boy'
    返回值:str
    
  5. 全部字符小写

    格式:x.casefold() #字符串中所有单词的所有字母全部小写 例如:x = = 'i am A 好 boy' print(x.casefold()) >>> 'i am a 好 boy' 返回值:str 
  6. 居中,两边默认以空格填充

    格式:x.center() #定义字符串的长度,不足长度时,两边以指定字符串进行填充 例如:x = 'abc' print(x.center(20,'*')) >>> '********abc*********' 返回值:str 
  7. 计数(默认全文计数)

    格式:x.count(str,index1,index2) #指定开始和结束范围来统计某字符串的个数 例如:x = 'sffefwsf' print(x.count('sf'),0,8) >>> 2 返回值:int类型 
  8. 编码

    格式:x.endswith(str,index1,index2) #指定字符串的开始和结束范围,判断所选区域是否是以指定字符串结尾 例如:x = 'adfd' print(x.endswith('fd',2,3)) >>> True 返回值:bool 
  9. 把\t转换为空格

    格式:x.expandtabs() #默认开头到\t为8个字节,不足以空格填充 例如:x = 'i am\t A\t 好 boy' print(x.expandtabs()) >>> 'i am A 好 boy' 返回值:str 
  10. 查找

    格式:x.find(str,index1,index2) #指定开始和结束的范围,查找指定区域内是否由指定的字符串(只返回查找到第一个的索引值) 例如:x = 'asdfdsfsafsaf' print(x.find('df',1,8)) >>> 2 返回值:int类型 

    注:如果find未查找到,将返回为-1

  11. 格式化

    格式: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 
  12. 查找

    纯字母的字符串

    纯数字的字符串

    全部小写

    可打印

    标题

    拼接

    格式:x.join(str)
        #把字符串以指定字符串进行相连
    例如:x = 'abcde'
         print('_'.join(x))
         >>> 'a_b_c_d_e'
    返回值:str
    
  13. 左对齐

    格式:x.ljust(str) #字符串左对齐,需要指定长度,不足长度时可以用指定字符串进行填充(默认以空格填充),当指定长度小于字符串长度,将会左对齐 例如:x = 'abcde' print(x.ljust(12,'*')) >>> 'abcde*******' 返回值:str 
  14. 全部小写

    格式:x.lstrip() #去除对字符串左边的指定字符串,字符串中间和结尾的指定字符串不做处理,默认去除的是空格 例如:x = 'aaafdfdfaaadfdsaaa' print(x.lstrip('a')) >>> 'fdfdfaaadfdsaaa' 返回值:str 
  15. 字符串进行分段

    格式:x.partition(str) #把字符串以从左到右第一个指定字符串为元素进行分段,以元组形式展现 例如:x = 'acbadfsadfsdfsd' print(x.partition('sa')) >>> ('acbadf', 'sa', 'dfsdfsd') 返回值:tuple 
  16. 字符串替换

    格式:x.replace(old,new,count) #把字符串中指定的字符串替换为新字符串,默认全部替换,也可以指定替换次数,如果次数超过存在的个数,将全部替换 例如:x = 'acbadfsadfsdfsd' print(x.replace('df','A',7)) >>> 'acbaAsaAsAsd' 返回值:str 
  17. 右→左 查找

    右对齐

    格式:x.rjust(str)
        #字符串右对齐,需要指定长度,不足长度时可以用指定字符串进行填充(默认以空格填充),当指定长度小于字符串长度,将会右对齐
    例如:x = 'adc'
         print(x.rjust(6,'%'))
         >>> '%%%adc'
    返回值:str
    
  18. 右→左 字符串分段

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

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

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

    以什么为开头

    格式:x.startswith(str,index1,index2)
        #指定字符串的开始和结束范围,判断指定区域是否是以指定字符串开头
    例如:x = 'adafsdaf'
         print(x.startswith('da',1,8))
         >>> True
    返回值:bool
    
  22. 去除两边空格

    格式:x.strip(str) #去除字符串两边的指定字符串,中间的指定字符串不做处理,默认去除的是空格 例如:x = 'aaadfsaaafdsfaaa' print(x.strip()) >>> 'dfsaaafdsf' 返回值:str 
  23. 大小写互转

    格式:x.swapcase() #字符串中所有的字母进行大小写相互转换 例如:x = 'aBcdE' print(x.swapcase()) >>> 'AbCDe' 返回值:str 
  24. 标题化

    格式:x.title() #对字符串中所有单词首字母大写,单词中间的大写全部转换为小写 例如:x = 'asd faDSdsf sdf' print(x.title()) >>> 'Asd Fadsdsf Sdf' 返回值:str 
  25. 全部变大写

    格式:x.upper() #字符串中所有字母全部转换为大写 例如:x = 'DFdgDdfdg' print(x.upper()) >>> 'DFDGDDFDG' 返回值:str 
  26. 左对齐,零填充

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

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

转自:Python改变生活——《Python中str字符串的功能介绍

猜你喜欢

转载自www.cnblogs.com/litong233/p/9052105.html