美文网首页Python进阶之路
python基础-04-字符串高级操作

python基础-04-字符串高级操作

作者: 162f127842fc | 来源:发表于2017-10-30 10:19 被阅读36次

    python基础-字符串高级操作

    1.字符串的拼接:

    a = 'I'  ,    b = 'Love'  ,  c = 'Python'    将a,b ,c 中的字符串连成一句话。  
    #第一种方法:用  +  号      
     >>> a+b+c
     'ILovePython' 
    
    #第二种方法:格式化字符串  %s  
     >>> '%s %s %s' % (a , b ,c)
     'I Love Python'
    
    #第三种方法:''.join()方式,注意括号里是要连接的可以是列表,元祖  
              ' '.join([a,b,c])  (注:''里面是连接后面各个字符串的字符)
    >>> a.join(b)
    'LIoIvIe'
    >>> "".join((a,b,c))
    'ILovePython'
    
    #第四种方法:.format方式
    #'{}{}{}'.format(a,b,c)    (注:{}里面可以填入与后面相对应的符号)
    #format方法详解:
     '{}{}{}'.format(a,b,c)
    >>> '{}{}{}'.format(a,b,c)
    'ILovePython'
    
    #当{}里面是空的时候,里面默认索引为0,1,2按format括号里的顺序依次填入
     '{1}{2}{0}'.format(a,b,c)
    >>> "{0}{1}{2}".format(a,b,c)
    'ILovePython'
    >>> '{1}{2}{0}'.format(a,b,c)
    'LovePythonI'
    
    #当{}里面有索引值时,按前面的索引值将后面的每项依次填入
    >>> '{n1}{n2}{n3}'.format(n1=a,n2=b,n3=c)
    'ILovePython'
     {}里面必须指定对象名称,后面通过赋值的方式给前面的相应的值,后面是无序的
    
    
    

    2.格式化输出

    #%s 格式化字符串
    -  用作左对齐
    
    >>> "%15s"%a  #左边占用15个字符
    '              I'
    >>> "%-15s"%a  #右边占用15个字符
    'I              '
    >>> "%1s"%1.1
    '1.1'
    
    #%d 格式化整数
    + 用在正数前面显示加号
    >>> "%d" %2.1  #相当于类型强制转换Int类型
    '2'
    >>> "%+d"%15 #加上+号
    '+15'
    
    #%f 格式化小数
    #m.n  m是显示的最小长度,当m大于格式化位数时才起作用显示m位,n是代表小数的位数。
    >>> "%f" %2.1  #小数点默认补6位
    '2.100000'
    >>> "%.2f" %2.1 #.2补两位小数
    '2.10'
    >>> "%10.2f" %2.1 # 10总的字符长度10位   .2保留两位小数
    '      2.10'
    >>> "%2.2f" %2.1  # 优先级:保留小数>字符长度
    '2.10'
    
    #%c 格式化ASCII字符
    >>> "%c" %65
    'A'
    
    #bin 二进制格式化
    >>> bin(4)
    '0b100'
    #%o 格式化八进制
    >>> "%o"  %16
    '20'
    
    #%x 格式化十六进制
    >>> "%x"  %16
    '10'
    >>> "%x" %15
    'f'
    
    #%e 用科学计数法格式化
    >>> "%e" %10  #1*10的一次方
    '1.000000e+01'
    
    #%r 针对字符串会多加一个''(引号)
    >>> "%r" %"abc"
    "'abc'"
                
    #转义字符
    \n 换行  \a提示音  \b退格键    \t横向制表符 (相当于Tab键)
        
    #取消转义   r' '    
    >>> r"www\nwww"
    'www\\nwww'
    

    3.专辑:深复制和浅复制

    #深复制和浅复制只会出现再嵌套列表中,嵌套之后可以通过索引值来取数
    
    #1.浅复制
    #浅复制,copy  嵌套的列表指向相同的内存地址
    >>> t1=["a","b"]
    >>> t2=["c",t1]
    >>> id(t1)
    62095768
    >>> id(t2[1])   #和t1同一个对象
    62095768
    
    >>> t3=t2.copy()  #和t1同一个对象
    >>> id(t3[1])
    62095768
    
    >>> t1.append("w")
    >>> t2
    ['c', ['a', 'b', 'w']]
    >>> t3
    ['c', ['a', 'b', 'w']]
    
    >>> id(t2)  #t2和t3不同对象,嵌套的列表指向相同的内存地址
    62095528
    >>> id(t3)
    62096008
    
    2.深复制
    >>> import copy
    >>> t4=copy.deepcopy(t2)
    >>> id(t2),id(t4)
    (62095528, 15453360)
    
    >>> id(t2[1]),id(t4[1])  #嵌套的列表内存地址改变
    (62095768, 62095408)
    
    

    相关文章

      网友评论

        本文标题:python基础-04-字符串高级操作

        本文链接:https://www.haomeiwen.com/subject/ughppxtx.html