Python文字列フォーマットf-stringの様々な機能が実現されます。


f-stringフォーマット
f-stringフォーマットとは、文字列テンプレートの前にfを足してから、プレースホルダを使って、}、その中に直接に対応するデータオブジェクトを入れます。
次のように
f's税引き前賃金は:{salary}元で、税金を納める:{tax}元で、税引き後の給与は:{aftertax}元です。
完全なコードは以下の通りです。

salary = input('     :')
 
#       ,    tax
tax = int(salary) *25/100
 
#        ,    aftertax
aftertax = int(salary) *75/100
print(f'     :{salary} ,   :{tax} ,      :{aftertax} ')
運転してみたら、出力結果は同じです。この方法はより直感的に分かりますか?
注意したいのは、このような書き方はPython解釈器が3.6以降のバージョンでなければサポートできません。
幅を指定
同様に、出力を揃えるためには、文字列の幅を指定する必要があります。
メソッドは、括弧内の変数の後ろに、幅の値を加算します。
たとえば
salary=10000
print(f'{salary:10})
f'{salary:10}'は幅を10文字と指定しています。文字列が10文字未満の場合は、前にスペースを付けます。たとえば上の出力結果は
>>salary=10000
>>print(f'{salary:10')
10000
完全な例示的なプログラムは以下の通りです。

#    1
salary = 8000
 
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'     :{salary:8} ,   :{tax:8} ,      :{aftertax:8} ')
 
#    2
salary = 15000
 
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'     :{salary:8} ,   :{tax:8} ,      :{aftertax:8} ')
 
#    3
salary = 100000
 
tax = int(salary) *25/100
aftertax = int(salary) *75/100
print(f'     :{salary:8} ,   :{tax:8} ,      :{aftertax:8} ')
運転してみた結果、次のようになりました。
税引前賃金は8000元で、税金を納める:2000.0元で、税引き後の給料は:600.0元です。
税引前賃金は15000元で、税金を納める:3750.0元で、税引後の給与は11250.0元です。
税引前賃金は100000元で、税金を納めます。25000元で、税引後の給与は75000.0元です。
これで全体がすっきりします。
もちろん上のコードは重複部分が多いです。賢いあなたはどう最適化したいですか?
はい、関数を使います。このように

def calcTax(salary):
 tax = int(salary) *25/100
 aftertax = int(salary) *75/100
 print(f'     :{salary:8} ,   :{tax:8} ,      :{aftertax:8} ')
#    1
calcTax(8000)
#    2
calcTax(15000)
#    3
calcTax(100000)
左揃え
上の出力結果は前のスペースを埋めるのに足りません。最終的には右の位置に配置されます。左揃えがしたい場合は、括弧に<記号を使うことができます。
このように{salary:<8}

def calcTax(salary):
 tax = int(salary) *25/100
 aftertax = int(salary) *75/100
 print(f'     :{salary:<8} ,   :{tax:<8} ,      :{aftertax:<8} ')
calcTax(8320)
calcTax(15023)
calcTax(100030)
運転結果は以下の通りです。
税引前賃金は8320元で、税金を納めます。2080.0元で、税引後の給料は6240.0元です。
税引前賃金は15023元で、税金を納める:3755.75元で、税引き後の給与は11267.25元です。
税引前賃金は10030元で、税金を納めます。2507.5元で、税引後の給料は75022.5元です。
小数点以下の桁数
小数点を指定して何桁残したいなら、このようにしてもいいです。
後の1 fは小数点以下で1桁を保留するという意味です。

def calcTax(salary):
 tax = int(salary) *25/100
 aftertax = int(salary) *75/100
 print(f'     :{salary:8.1f} ,   :{tax:8.1f} ,      :{aftertax:8.1f} ')
calcTax(8320)
calcTax(15023)
calcTax(100030)
運転結果は以下の通りです。
税引前賃金は8320.0元で、税金を納める:2080.0元で、税引き後の給与は6240.0元です。
税引前賃金は1503.20元で、税金を納める:3755.8元で、税引後の給料は11267.2元です。
税引前賃金は10030.0元で、税金を納めます。2507.5元で、税引後の給料は75022.5元です。
ゼロを補うに足りない
指定された幅に足りない場合は、スペースを補うのではなく、数字0を補うということができます。

def calcTax(salary):
 tax = int(salary) *25/100
 aftertax = int(salary) *75/100
 print(f'     :{salary:08} ,   :{tax:08.1f} ,      :{aftertax:08.1f} ')
calcTax(8320)
calcTax(15023)
calcTax(100030)
運転結果は以下の通りです。
税引前賃金は:00008320元、税金を納める:002080.0元、税引き後の給与は:006240.0元です。
税引き前賃金は00015023元で、税金を納める:00755.8元で、税引き後の給与は011267.2元です。
税引き前賃金は:00100000 30元、税金を納める:025007.5元、税引き後の給料は:05022.5元です。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。