字符串

字符串

  • 不可变对象

  • Unicode类型

  • a = r'sssssssss\n'

    r/R表示其后面引号中所有字符为字符串中字符

  • 可迭代

  • str.join方法 ---- 输出结果为新字符串

    str.join() 括号中只接受字符串类型,可迭代对象

    a = 'abcd'
    b = ','.join(a)
    lst = ['1','2','3']
    

c = 'a'.join(lst)


b = 'a,b,c,d'

c = '1a2a3'

```python
print('\n'.join(lst))

1
2
3

  • str.count() 输出结果为整型,子串在原字符串中出现的次数

字符串的分割

  • str.split(seq = None,maxsplit = -1) ---- 将字符串按照分隔符分割成若干字符串,并返回列表
    • seq指定分割字符串,缺省情况默认空白字符串作为分隔符(空白字符+,就是包括空格,tab等连在译器都是空白字符),切割后分隔符消失
    • maxsplit 指定分割次数,-1 表示遍历整个字符串,一次切成两段
    • str.rsplit()从右往左切,输出列表顺序为原来顺序,不会反转
    • str.splitlines([keepends]) 按换行符\n\r换行,[True]表示保留换行符
  • str.partition(sep) ---(head,sep,tail) 将字符串按照分隔符分成两段,返回这两段和分隔符的元组.
    • sep为分隔符,找到第一个分割符后返回头,尾,分隔符三部分;若没找到分隔符,返回,字符串,两个空元素的三元组.
    • 不给定分隔(或给一个空值)符报错,
    • str.rpartition(),从右到左切割,若无分隔符,输出两个空值加原字符串组成的三元组

字符串大小写

  • str.upper() 全大写

  • str.lower() 全小写

  • str.swapcase() 大小写互换

字符串的修改

  • str.replace(old,new[,count]) 返回新字符串

    • 字符串中找到 匹配子串替换为新字符串,返回新字符串

    • count表示 替换 几次,默认全部替换

  • str.strip([chars]) 返回新字符串,

    • 默认除去两侧空格
    • 括号内字符会依次被从两侧去掉
    • str.lstrip() 去左边
    • str.lstrip() 去右边

字符串的查找(O(n))

  • str.find(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,找到返回值为字串第一个字符的索引,没找到返回 -1,

  • str.rfind(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到返回 -1,

  • str.index(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError

  • str.rindex(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError

  • str.count(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串出现的次数,返回值次数,没有返回0

字符串的判断

  • str.endswith(suffix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以suffix结尾,返回值为布尔值,前提始末位置要包含子串

  • str.startswith(prefix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以prefix开头,返回值为布尔值,前提始末位置要包含子串

字符串的格式化

'i like %03d' %(20,) 后面的%后接单值,元组或者字典,0表示不足的用0部位,3表示共三位

"{}{名称}".format(*args,**kwargs) --- 输出字符串,

args是位置参数 ,是一个元组

kwargs是关键字参数,是一个字典,与{}中关键字匹配

{{}}表示打印花括号

'{0}*{1}={2:< 02}'.format(3,2,2 * 3) 默认右对齐

​ 3为0位,2为1位,:<为左对齐,0为0补充占位,^为居中,*为填充

'{:*^30}'.format('centered')

​ ^为居中,*为填充

进制

'int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b}'.format(42)
'int:42;hex:0x2a;oct:0o52;bin:0b101010'

![](D:\python课后题\笔记\图片\格式化字符串 02.jpg)

f'{}'f让{}内的字符串变成了变量名

f'{s:*^10}' *补位符,^居中,共十位

f'{x:.5f}' 小数点后5位

posted @ 2019-09-11 15:24  Agsol  阅读(112)  评论(0编辑  收藏  举报