pythonフォーマット出力の3つの方法

2033 ワード

[TOC]
出力をフォーマットする3つの方法
一、プレースホルダ(第一種類のフォーマット出力)(3.0バージョンで使用)
プログラムでは、ユーザーに情報を入力し、一定のフォーマットに印刷するように要求するシーンがよく見られます.
たとえば、ユーザー名と年齢を入力し、次の形式で印刷する必要があります.
My name is xxx,my age is xxx.

明らかにカンマで文字列の接合を行い、ユーザーが入力した名前と年齢を末尾に置くしかなく、指定したxxx位置に置くことができず、数字もstr(数字)の変換を経て文字列と接合しなければならない.
ただし、%s(すべてのデータ型)、%d(数値タイプのみ)などのプレースホルダを使用するのは簡単です.
name = 'python'
age = 30
print('My name is %s, my age is %s' % (name, age))
#  :
My name is python, my age is 30

age = 30
print(' my age is %s' % age)
#  :
 my age is 30


二、formatフォーマット(第二のフォーマット出力)(3.4バージョン、向上互換性あり)
name = 'python'
age = 30
print("hello,{},you are {}".format(name,age))
#  :
hello,python,you are 30
name = 'python'
age = 30
print("hello,{1},you are {0}-{0}".format(age,name))#     format        
#  :
hello,python,you are 30-30
name = 'python'
age = 30
print("hello,{name},you are {age}".format(age=age, name=name))
#  :
hello,python,you are 30

三、f-stringフォーマット(第三のフォーマット出力)(3.6バージョン、向上互換性あり)の推奨使用
比較的簡単で、実用的です
fでもFでもいいよ
文字と数字を直接加算できるようにしましょう
name = 'python'
age = 30
print(f"hello,{name},you are {age}")
#  :
hello,python,you are 30

name = 'python'
age = 30
print(F"hello,{name},you are {age}")
  :
hello,python,you are 30
name = 'python'
age = 30
print(F"{age * 2}")
  :
60


印刷をより美しくする
fac = 100.1001
print(f"{fac:.2f}")  #         
#   *  ,*20 ,fac 8 ,     ,*   
print(f"{fac:*>20}")
print(f"{fac:*<20}")
print(f"{fac:*^20}")
print(f"{fac:*^20.2f}")


#  :
100.10
************100.1001
100.1001************
******100.1001******
*******100.10*******

転載先:https://www.cnblogs.com/SkyOceanchen/p/11276921.html