python学习笔记_03(字符串)

字符串


1. 字符串使用
  1. 序列的所有操作(索引,分片,加法,乘法,成员资格,长度,最小值,最大值)都可用于字符串

  2. 字符串格式化

    • 使用%号:使用%分隔,左边使用字符串,右边操作数可以是任意类型,只有元组和字典可以一次格式化多个值

    ‘%s plus %s equals %s’ % (1, 2, 3)

    %字符:标识转换说明符开始的地方

    转换标志:- 左对齐,+ 在数值前加上正负号,‘ ’ (空白字符)表示正数前保留空格,0 长度不够用0填充

    最小字符宽度:转换后字符至少具有的宽度,实际宽度超过不会截断,* 表示从元组读出

    .后面跟精度:如果是实数表示小数点后的位数,如果是字符串表示最大宽度,超过截断,* 表示从元组读出,整数数据精度没有作用

    
    格式化转换类型(%*)
    
    | 转换类型 | 含义                                                     |
    | -------- | -------------------------------------------------------- |
    | d,i      | 带符号十进制数                                           |
    | o        | 不带符号八进制数                                         |
    | u        | 不带符号十进制数                                         |
    | x, X     | 不带符号十六进制数,字母分别小写,大写                   |
    | e, E     | 科学计算法表示的浮点数,e分别大写,小写                  |
    | f, F     | 十进制浮点数                                             |
    | g, G     | 浮点自动,指数小于-4或小于精度则与e, E相同,否则f, F相同 |
    | c        | 单字符,接受整数或单字符字符串串                         |
    | r        | 字符串,使用repr转换任意python对象                       |
    | s        | 字符串,使用str转换任意python对象                        |
    
    
    
    + 模板字符串:substitute
    
    ```python
    from string import Template
    s = Template('$x. glorious $x!')
    s.subsitute(x = 'slurm')
    #'slurm, glorious slurm!'
    #如果替换单词一部分,必须用括号括起来
    s = Template("It's ${x}tastic!")
    s.substitute(x = 'slurm')
    #"It's slurmtastic!"
    #如果字符串中有美元符使用$$
    #可以使用字典提供值/名
    s = Template('A $thing must never $action.')
    d = {}
    d['thing'] = 'gentleman'
    d['action'] = 'show his socks'
    s.substitute(d)
    #使用safe_substitute不会因缺少值报错
    s = Template('A $thing must never $action $asb.')
    s.safe_substitute(d)
    #'A gentleman must never show his socks $asb.'
    
2. 字符串方法
2.1 find
  • 查找子串,find(substr[, start, end]),返回字串最左端索引没有找到返回-1
  • 返回找到的第一个匹配字串
  • 成员字符返回的是布尔值
2.2 join
  • 接收一个序列参数,用str分别连接序列的每个元素,再把新元素连接起来,序列中的元素必须是字符串,否则抛出TypeError异常

    split的逆方法

    seq = [1, 2, 3]
    sep = '+'
    sep.join(seq)  # TypeError
    
    seq = ['1', '2', '3']
    sep.join(seq)  # 1+2+3
2.3 lower
  • 所有字母转换为小写
2.4 replace
  • 返回某字符串所有匹配项均被替换后得到的字符串

    返回一个新的字符串

    替换所有匹配项

2.5 split
  • 分隔字符串,参数传递分隔符,不提供参数,使用空白符作为分隔符(空格,制表,换行)

    返回列表

    如果被分隔字符串不包含分隔符,返回只有一个元素的列表,元素是整个字符串

2.6 strip
  • 返回去除了两侧空白符的字符串

  • 可以指定需要去除的字符,可以传字符串,在字符串中的字符都会被去除

    #1. 去除左右两端的空字符,包括空格,制表符,回车等
    s = '  gumby   '
    s.trip()    #gumby
    #2. 可以指定需要去除的字符,作为参数传递给strip
    '*** Span * for everyone !!! ***'.strip('*!')    #Span * for everyone

    类似还有lstrip,rstrip

2.7 translate
  • 与replace类似,但是可以一次进行多个替换

    # 1. 制作一个转换表,maketrans,接收2个等长的字符串,转换表包含ASCII中256个字符集
    from string import maketrans
    table = maketrans('cs', 'kz')
    len(table)
    'this is an incredible test'.translate(table)
    # 'thiz iz inkredible tezt'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值