zoukankan      html  css  js  c++  java
  • Python基础__字符串拼接、格式化输出与复制

      上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接、格式化输出以及复制的等做做详细介绍。
    一. 字符串的拼接

    a = ‘I’, b = ‘love’, c = ‘Python’. 我们的目的是:将a,b,c 拼接成’I love Python’。实现字符串的拼接是一个语言中重要的操作方式,下面介绍几种不同的方法。

    方法1:直接相加 a+’ ’+b+’ ’+c
        我们知道加法对字符串而言有拼接合并的作用,这是一种非常容易理解的方式

    方法2:格式化输出 %s

    >>>	'%s %s %s'%(a,b,c)
    		'I love Python'
    

       这里的s起到了占位符的作用。

      注意1: 字符串之间有空格键,是因为abc之间有空格间隔
      注意2: %s的个数要与后面被格式化对象的个数先对应

    方法3:’ ’.join( )函数法, 单引号之间参数添加间隔的方式,括号内参数是可迭代部分

    	>>> ' '.join((a,b,c))
    		'I love Python'   #这里是以空格键
    

        小记:这里介绍一个与’ ’.join()函数作用相反的函数’ ’.split()

                  S.split(sep=None, maxsplit=-1) -> list of strings:

                             第一个参数:是分割的位置,默认为所有的空字符,包括(空格,换行( ),制表符( )).
                             第二个参数:分割次数
                             返回一个列表
                             将字符串实现每一个字符都分开,用split()函数不可以,可以通过list()函数作用。

    		>>> te = 'I love Python'
    		>>> te.split()
    		['I', 'love', 'Python']
    		>>> te.split('o')
    		['I l', 've Pyth', 'n']
    		>>> list(te)
    		['I', ' ', 'l', 'o', 'v', 'e', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', '2', '0', '1', '8']
    

    方法四.s.format()函数  

    >>> '{} {} {}'.format(a,b,c)  				           
    'I love Pyhton'                                        
    >>> '{2} {1} {0}'.format(a,b,c)                        
    'Pyhton love I'
    >>> '{n2} {n3} {n1}'.format(n1=a,n2=b,n3=c) 
    'love Pyhton I'
    

      (1)默认里面有索引在不做指定的时候默认索引从0开始

      (2)可以通过索引对元素位置换序

      (3)可以对索引进行改变

    二.格式化输出

        格式化输出是以固定的格式输出。

    >>> '%10s'%'lucky'	
    '     lucky'   #10表示表示字符串宽度,首先遵循自身宽度,默认右对齐
    >>> '%-10s'%'lucky'     #- 表示左对齐
    'lucky     '
    

    ‘%s’%'lucky'                               # 以字符串的形式输出  

    ‘%d’%5                                      #格式化整数

    ‘%f’%5                                       #格式化小数(默认保留6位小数)
    '%.1f'%1.9123456                     #.1代表保留1位小数
    '%5.1f'%1.91234567                 #5是宽度,1是精度,精度优先

    >>> '%.1f'%1.91234567
    '1.9'
    >>> '%5.1f'%1.91234567
    '  1.9'
    >>> '%c'%65
    'A' 

    ‘%c’格式化ACII码
    ‘%o’格式化八进制
    ‘%x’格式化十六进制
    ‘%e’格式化科学计数法
    - 左对齐
    + 提示后面正负
    提示换行 print('aaaa ')
    制表符 Tab键 print('aaaa bbbbbbbbbb')
    a 提示音
     退格键
    r 取消转义 \ 自然字符串

    >>> print(r'aaaa	 bbbbbbbbbb')
    aaaa	 bbbbbbbbb
    

    三.深浅复制  发生在嵌套列表

    >>> li = ['a','b']
    >>> li1=[1,li]
    >>> lq=li1.copy()
    >>> lq
    [1, ['a', 'b']]
    >>> li.append('c')
    >>> lq
    [1, ['a', 'b', 'c']]
    >>> id(li)
    55820776
    >>> id(lq[1])
    55820776
    

     浅复制: 在嵌套复制中,若嵌套元素发生变化,复制之后的元素也发生变化,复制元素的id不发生变化 

    >>> import copy
    >>> copy.deepcopy(li1)
    [1, ['a', 'b', 'c']]
    >>> ls=copy.deepcopy(li1)
    >>> ls
    [1, ['a', 'b', 'c']]
    >>> li.append('d')
    >>> ls
    [1, ['a', 'b', 'c']]
    >>> li
    ['a', 'b', 'c', 'd'] >>> id(li) 55820776 >>> id(li[1]) 40212480

    深复制: 在嵌套复制中,若嵌套元素发生变化,复制之后的元素不发生变化,复制元素的id发生变化 

         

  • 相关阅读:
    不重复随机数生成
    centos 输入密码正确进不去系统
    程序退出异常_DebugHeapDelete和std::numpunct
    iptables导致数据包过多时连接失败
    linux服务器并发与tcmalloc
    Windows server 2008 被ntlmssp安装攻击 解决
    转载 html div三列布局占满全屏(左右两列定宽或者百分比、中间自动适应,div在父div中居底)
    WIN2003使用IP安全策略只允许指定IP远程桌面连接
    如何让电脑公司Win7系统自动关闭停止响应的程序
    win7 64的系统安装。net4.0总是提示安装未成功
  • 原文地址:https://www.cnblogs.com/fangfang31140519/p/8449673.html
Copyright © 2011-2022 走看看