pythonのフォーマット文字

4787 ワード

pythonのフォーマット文字
pythonでは、フォーマットされた文字列をどのように出力するかという問題に直面します.私たちはよく' xxx ! xx xx, xx'のような文字列を出力しますが、xxxの内容は変数によって変化するので、文字列を簡単にフォーマットする方法が必要です.pythonでは、フォーマット文字列を%で実装します.
構文
フォーマット文字列の構文を例に挙げて説明します
\>>> 'Hello, %s' % 'world'
'Hello, world'
\>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

文字列の内部では、%sは文字列で置換され、%dは整数で置換され、いくつかの%プレースホルダがあり、後にいくつかの変数や値があり、順番に対応しなければならない.1つの%しかない場合は、カッコは省略できます.
文字列書式記号
          %c            ASCII 
          %s           
          %d          
          %u             
          %o               
          %x                
          %X                (  )
          %f          %e                 
          %E        %e,            
          %g     %f %e   
          %G     %f   %E    
          %p                   

フォーマットオペレータ補助命令
              
        *                
        -          
        +              ( + )
                   
        \#              ('0'),         '0x'  '0X'(      'x'  'X')
        0              `0`        
        %     '%%'       '%'
        (var)     (    )
        m.n.  m         ,n        (      )

0と整数と小数の桁数を補うかどうかを指定する場合
  • %0xdは整数を0でxビット
  • に補完することを示す
  • 整数のビット数がxより小さい場合は、0でeg:
  • を補う
    
                >>> "%03d" %33
                '033'
  • 整数のビット数がxより大きい場合、直接eg:
  • を出力する
    
                >>> "%03d" %12345
                '12345'
  • %xdは整数を でxビット
  • に補完することを示す
  • 整数のビット数がxより小さい場合は でeg:
  • を補う
    
                \>>> "%6d" %123
                '   123'
  • 整数のビット数がxより大きい場合はeg:
  • を直接出力する
                \>>> "%3d" %12345
                '12345'
  • %.xfは小数点以下の桁数をx位
  • に固定することを示す
  • 小数の桁数がxより大きい場合は、x位小数eg:
  • を保持する
                \>>> "%.3f" % 3.1415926
                '3.142'
  • 小数の桁数がxより小さい場合は、eg:
  • を0で補う
                \>>> "%.4f" % 3.1
                '3.1000'

    何を使うかよく分からない場合は、%sが最も安全であり、任意のデータ型を文字列に変換します.