中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

python教程

  • Python 入门教程
  • Python 基础教程

    Python 高级教程

    Python 常用资源

    Python 拓展阅读

    6. python 字符串格式化表达式

    阅读 (2216)

    6. python 字符串格式化表达式

    字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换

    特别是给用户提示的时候,格式化非常方便

    实现方法:

    1.格式化表达式,类似于c语音的printf

    在表达式中,我们使用%二进制操作符

      >>> print('this is %d %s bird' % (1,'dead'))  
      this is 1 dead bird  
    

    举上面的例子说明(注意我们下面所说的%,都是以字符串和元组中间的那个为准)

    在%的左边放置一个字符串,字符串里面放置了一个或者多个使用%开头的嵌入对象

    在%的右边放入一个(或多个,嵌入元组当中)对象,这些对象将插入到左边的转换目标位置上

      >>> name='ray'  
      >>> 'my name is %s' % name  
      'my name is ray'  
      >>> '%d %s %d you' % (1,'spam',4)  
      '1 spam 4 you'  
      >>> '%s---%s---%s' % (42,3.14,[1,2,3])  
      '42---3.14---[1, 2, 3]'  
      >>>   

    当插入多个对象时,需要把他们放到一个元组里面

    2.高级格式化表达式

    字符串格式化代码列表

    代码意义
    s字符串(或者任何对象)
    rs,但是用repr,而不是str
    c字符
    d十进制整数
    i整数
    u无号整数
    o八进制整数
    x十六进制整数
    Xx,但打印大写
    e浮点指数
    Ee,但打印大写
    f浮点十进制
    F浮点十进制
    g浮点e或f
    G浮点e或f
    %常量%

    %[(name)][flags][width][.pression]typecode

    例子

    
      >>> x=1234  
      >>> res='integers:...%d...%-6d...%06d' % (x,x,x)  
      >>> res  
      'integers:...1234...1234  ...001234'  
      >>>   

    %e,%f,%g对于浮点数的打印是有所区别的

      >>> x=1.23456789  
      >>> x  
      1.23456789  
      >>> '%e|%f|%g' % (x,x,x)  
      '1.234568e+00|1.234568|1.23457'  
      >>>   

    3.基于字典的格式化表达式

      >>> 'my name is %(name)s,my age is %(age)d' % {'name':'ray','age':30}  
      'my name is ray,my age is 30'  
      >>>   

    说白了就是给每个替换位置命名,这样代码看起来更加明了


    关闭
    程序员人生