pythonフォーマット:%とformat

11837 ワード

%メソッド:
%[(name)][flags][width][precision]typecode・(name):オプションで、指定したkey・flagsを選択できます.選択可能な値は、・+:右揃え、正数前プラス記号、負数前プラス記号・-:左揃え、正数前マイナス記号・スペース:右揃え、正数前プラススペース、負数前プラスマイナス記号・0:右揃え、正数の前に符号なし、負数の前に負の符号を付け、空白を0で埋める・width:オプション、占有幅を表す・・.precision:オプションで、小数点以下で保持されている桁数・typecode:必須・s:受信オブジェクトの取得_str__メソッドの戻り値を指定した位置にフォーマット・r:受信オブジェクトの__を取得repr__メソッドの戻り値を指定位置・cにフォーマットする:整数:数値をunicodeに対応する値に変換し、10進数範囲は0≦i≦1114111(py 2.7は0~255のみサポート)である.文字:文字を指定位置に追加・o:整数を8進に変換して指定位置にフォーマット・x:整数、浮動小数点数を16進に変換して指定位置にフォーマット・d:整数、浮動小数点数を10進に変換して指定位置にフォーマット・e:整数、浮動小数点数を科学記数法に変換指定位置にフォーマット・E:整数、浮動小数点数を科学的記数法に変換し、指定位置にフォーマット・f:整数、浮動小数点数を浮動小数点数に変換し、指定位置にフォーマット・F:整数、浮動小数点数を浮動小数点数に変換し、指定位置にフォーマット・g:整数、浮動小数点数を浮動小数点数または科学記数法(6桁を超えるものは科学記数法)・G:整数、浮動小数点数を浮動小数点数または継続可能記数法(6桁を超えるものは科学記数法)・%:文字列にフォーマットフラグがある場合、パーセントを%で表す必要があります(Pythonのパーセントは整数を自動的にバイナリに変換するのではなく)
いくつかの奇妙な条件が埋め込まれている内容はメタグループではありません
≪インスタンス|Instance|emdw≫
a='output a number:%10.3f'%2.2333
print(a)
a='output a number:%-10.3f'%2.2333
print(a)
a='output a number:%010.3f'%2.2333
print(a)
a='output a str:%s'%'guess what'
print(a)


出力:
output a number:     2.233
output a number:2.233     
output a number:000002.233
output a str:guess what

formatメソッド1デフォルト操作:
print('{}    {}'.format(' ','  '))
print('{}    {}'.format(' ',''))
print('{}    {}'.format(' '))

出力結果:
       
     
Traceback (most recent call last):
  File "C:\Users\ASUS\Desktop\hey.py", line 3, in <module>
    print('{}    {}'.format(' '))
IndexError: Replacement index 1 out of range for positional args tuple
#   !↑        ,          

注意:この間のパラメータは順番に置き換えられますので、順番は必ず
②位置パラメータ例:
print('{0}    {1}'.format(' ','  '))
print('{1}    {0}'.format(' ','  '))

出力結果:
       
       

③キーワードパラメータ例:
print('{a}    {b}'.format(a=' ',b='  '))
print('{a}    {b}'.format(b='  ',a=' '))
#            ,            

出力結果:
       
       

注意:位置メソッドとキーワードメソッドは混用できますが、キーワードは位置の順序を乱すことはできません(すなわち、位置が前で、キーワードが後です)
print('{a}    {0} {b}'.format('  ',a=' ',b='  '))
print('{a}    {0} {b}'.format(a=' ','  ',b='  '))

しゅつりょく
          
#     

④リスト置換例
a=['  ',' ','  ']
print('{ls[1]}    {ls[0]} {ls[2]}'.format(ls=a))

出力結果:
          

疑问:どうしてls=aが必要ですか???Aは別名で、本名と同等にする必要がありますか??
じゅうてん
1、コロンはコマンドの開始として、後に異なるコマンドがあります.具体的な順序は以下の通りです.充填記号、整列方式(>右揃え、<左揃え、^中央揃え)、幅、進数
print('{:*>5}'.format(233))
print('{:0>5}'.format('hey'))
**233
00hey

2、進数出力b、d、o、xはそれぞれバイナリ、10進数、8進数、16進数である.
print('{:*<8b}'.format(10))
1010****

3、浮動小数点型の精度
print('{:.2f}'.format(3.1415))
3.14