Python 3の文字列フォーマットについて


日付:2019年11月11日作者:Commas注釈:勉強は忘れるため、文字列フォーマットをまとめましょう...
Pythonについてもっと知りたいなら、「私」「私のPython浅談シリーズカタログ」をクリックしてください.
文書ディレクトリ
  • 一、文字列フォーマット
  • 二、フォーマットオペレータ%
  • 三、フォーマット関数str.format()
  • 一、文字列フォーマット
    定義:文字列の特定の場所を、自分の望む文字列に置き換えます.たとえば、文字列を「愛してる?」の「?」「CSDN」に置き換えると、新しい文字列「CSDNが好きです」が得られます.このプロセスは文字列フォーマットです.
    シーケンス番号
    メソッド(Method)
    代表者
    コメント
    1
    フォーマットオペレータ
    %
    2
    書式設定関数
    str.format()
    推奨
    二、フォーマットオペレータ%
    シーケンス番号
    文字列の書式設定
    フルネーム
    意味
    1
    %s
    string
    文字列
    2
    %d
    decimal
    10進位の整数
    3
    %f
    float
    浮動小数点数
    4
    %%
    %
    出力%
    1、%sの例
    #(1)        
    str_ini = "%s,I'm Commas"
    str_formart = str_ini % ("Hello",)
    # str_formart = str_ini % "Hello"
    print(str_formart)
    #     :Hello,I'm Commas
    #-----------------------------------------------
    #(2)             
    str_ini = "SELECT * FROM %s WHERE name = %s"
    str_formart = str_ini % ("Student", "Commas")
    print(str_formart)
    #     :SELECT * FROM Student WHERE name = Commas
    

    2、%dの例
    #(1)%d:          
    str_ini = " %d     !"
    str_formart = str_ini % (100.01,)
    print(str_formart)
    #     : 100     !
    #-----------------------------------------------
    #(2)%06d:    “6   ”,      0  
    str_ini = "     %06d"
    str_formart = str_ini % (1,)
    print(str_formart)
    #     :     000001
    

    3、%fの例
    #(1)%f:        
    str_ini = "PI      %f"
    str_formart = str_ini % (3.1415962,)
    print(str_formart)
    #     :PI      3.141596
    #-----------------------------------------------
    #(2)%.2f:       2    
    str_ini = "PI      %.2f"
    str_formart = str_ini % (3.1415962,)
    print(str_formart)
    #     :PI      3.14
    

    4、%の例
    str_ini = "BUG        %.2f %%,  BUG   "
    str_formart = str_ini % (100,)
    print(str_formart)
    #     :BUG        100.00 %,  BUG   
    

    三、フォーマット関数str.format()
    1、デフォルトの順序でフォーマットする
    # (1){}          
    str_ini = "SELECT * FROM {} WHERE name = {}"
    str_formart = str_ini.format("Student", "Commas")
    print(str_formart)
    #     :SELECT * FROM Student WHERE name = Commas
    #-------------------------------------------
    # (2){:.2f}        
    str_ini = "PI      {:.2f}"
    str_formart = str_ini.format(3.1415926)
    print(str_formart)
    #     :PI      3.14
    

    2、指定された位置でフォーマットする
    str_ini = "SELECT * FROM {1} WHERE name = {0}"
    str_formart = str_ini.format("Commas", "Student")
    print(str_formart)
    #     :SELECT * FROM Student WHERE name = Commas
    

    3、ディクショナリフォーマットを使う
    dic_info = {
         "table": "Student", "name": "Commas"}
    str_ini = "SELECT * FROM {table} WHERE name = {name}"
    str_formart = str_ini.format(**dic_info)
    print(str_formart)
    #     :SELECT * FROM Student WHERE name = Commas
    

    4、リスト(List)フォーマットを使う
    list_info = [99.99, 2]
    str_ini = "    :{0[0]} {0[1]} "
    str_formart = str_ini.format(list_info)
    print(str_formart)
    #     :    :99.99 2 
    

    5、タプルフォーマットを使う
    Tuple_info = (99.99, 2)
    str_ini = "    :{0[0]} {0[1]} "
    str_formart = str_ini.format(Tuple_info)
    print(str_formart)
    #     :    :99.99 2 
    

    フォーマット関数str.format()のフォーマットクイックテーブル:
    書式設定
    入力
    しゅつりょく
    説明
    {:.2f}
    3.1415
    3.14
    小数を2桁保持
    {:+.2f}
    +3.1415
    +3.14
    符号付き小数2桁保持
    {:+.2f}
    -3.1415
    -3.14
    符号付き小数2桁保持
    {:.0f}
    3.1415
    3
    小数なし
    {:0>3d}
    1
    XX1
    幅は3で、左からXを埋めるには足りません.ここでXは0~9の任意の数を表します.
    {:0<4d}
    10
    10XX
    幅は4で、右からXを充填するには不足し、Xは0~9の任意の数を表す
    {:>10d}
    13
    13
    右揃え(幅10、左からスペースを埋めるには足りません)
    {:<10d}
    13
    13
    左揃え
    {:^10d}
    13
    13
    中央揃え(幅が10で、左右からスペースを埋めるには足りません)
    {:,}
    1000
    1,000
    カンマで区切られた数値フォーマット
    {:.2%}
    0.99
    99%
    パーセントフォーマット、小数2桁保持
    {:.2e}
    1000
    1.00e+03
    指数表記、小数2桁保持
    {:.1e}
    0.012
    1.2e-02
    指数表記、小数1桁保持
    {:b}
    11
    1011
    バイナリ:binary
    {:d}
    11
    11
    十進法:decimal
    {:o}
    11
    13
    8進法:octonary
    {:x}
    11
    b
    16進法:hexadecimal(sexadecimal)
    {:#x}
    11
    0xb
    16進法:hexadecimal(sexadecimal)
    {:#X}
    11
    0XB
    16進法:hexadecimal(sexadecimal)
    参考:1、https://www.runoob.com/python/att-string-format.html
    本文はブロガーのオリジナルの文章で、もし転載する必要があるならば、与えてください:原文のリンク:https://blog.csdn.net/qq_35844043/article/details/103008000