print関数は、コードを書いていくうえで欠かすことのできない関数です。
本記事では、Pythonにおける、print関数の基本的な使い方を紹介します。
本記事では、下記の内容を紹介しています。
この記事で分かること
- print関数の基本
- print関数の引数について
- print関数の改行 あり/ なし について
- print関数のformatメソッドの使い方
- print関数のf文字列の使い方
- print関数の数値の桁数指定方法
スポンサーリンク
print関数の基本
print関数を用いることで、数値や文字列を画面に出力することができます。
### print関数の基本
print("Apple")
# Apple
python2 と python3 のprintの違い
printは、python2とpython3で書き方が異なります。
print "Apple" #python2
print("Apple") #python3
Python2では「print文」でしたが、Python3から「print関数」に変わりました。
python3でprint関数を使う上では、括弧 ( ) をつけていれば大丈夫です。
スポンサーリンク
print関数の引数について
次に、print関数の引数について紹介します。
文字列Appleと、Bananaを表示する例で紹介します。
下記のコードは、省略可能な引数をあえて表示したものです。
### printの引数を省略せずに記載
import sys
print("Apple","Banana", sep=' ', end='\n', file=sys.stdout, flush=False)
#Apple Banana
この表記だと、import sys をしないとエラーとなるので、追加しています。
それぞれの引数について、簡単に解説します。
sep = ' ' : 区切り文字指定
sep = ' 'は、複数の数値や文字列をprint関数で表示する際の、区切り文字を指定します。
### 区切り文字指定の確認
print("Apple", "Banana", "Orange") #区切り文字はデフォルトの" "(スペース)
#Apple Banana Orange
print("Apple", "Banana", "Orange", sep=',') #区切り文字は", "(カンマ)
#Apple,Banana,Orange
print("Apple", "Banana", "Orange", sep=', ') #区切り文字は", "(カンマ + スペース)
#Apple, Banana, Orange
end = '\n' : 末尾の文字指定
end = '\n'は、数値や文字列をprint関数で表示する際の、末尾の文字を指定します。
### 末尾の文字指定の確認
print("Apple", "Banana") #末尾の文字はデフォルトの"\n"
print("Orange", "Lemon") #末尾の文字はデフォルトの"\n"
#Apple Banana
#Orange Lemon
print("Apple", "Banana", end = ',') #末尾の文字は", "(カンマ)
print("Orange", "Lemon", end = ',') #末尾の文字は", "(カンマ)
#Apple Banana,Orange Lemon,
file=sys.stdout : 出力先の指定
file=sys.stdoutは、print関数の出力先を指定します。
デフォルトのsys.stdoutは、標準出力を表しています。
print関数の出力は、画面だけではなく、ファイルに出力することもできます。
ただし、file引数は、writeメソッドを持つオブジェクトである必要があります。
下記の例では、print関数からテキストファイルへ出力しています。
### print関数からtextファイルに出力
import os
dir_test = r'C:\Users\info\OneDrive\デスクトップ'
name_test = 'output.txt'
path_test = os.path.join(dir_test, name_test)
file_test = open(path_test, 'w')
print("Apple", "Banana", file=file_test)
file_test.close()
出力先のテキストには、下記のように記載されているはずです。
output.txt
Apple Banana
flush=False : 出力のフラッシュ動作の指定
flush=Falseのオプションでは、出力のフラッシュ動作を指定することができます。
重い処理を実行中にprint関数を実行すると、処理終了後にまとまってprintの出力結果が出力されることがあります。
flush=True とすることで、フラッシュ動作させ、printの出力結果を即時表示することができます。
### 処理進捗を表示する例
import time
for _ in range(10):
### --- ここに処理を入れる --- ###
print("*", end="", flush=True)
time.sleep(0.5)
#**********
flush=Trueとしたことより、処理進捗に合わせてprint関数の出力が表示されるようになります。
スポンサーリンク
print関数の改行 あり/ なし について
print関数の出力を表示する際に、改行しない方法を紹介します。
基本かつ、よく検索されている内容なので紹介しますが、解決方法はすでに紹介済みです。
末尾の文字を指定する、end = '\n' を変更すれば、「改行なし」にすることができます。
下記は、end = ' ' と、末尾をスペースに指定した場合の例です。
### print関数で改行しない例
print("Apple", "Banana", end = ' ') #末尾の文字は" "(スペース)
print("Orange", "Lemon", end = ' ') #末尾の文字は" "(スペース)
#Apple Banana Orange Lemon
print関数の formatメソッド の使い方
formatメソッドを用いると、文字列の中に変数を埋め込んで表示することができます。
formatメソッドは、下記のように記載します。
print( " 文字列 { } " .format( 変数 ) )
置換フィールド{ }が、変数に置換されます。
### formatメソッドの基本
x = 123
print('変数 x : {}'.format(x))
#変数 x : 123
変数が複数ある場合は、","カンマで区切ります。
### formatメソッドの基本。変数が複数ある場合
x = 123
y = 456
print('変数 x : {}, 変数 y : {}'.format(x, y))
#変数 x : 123, 変数 y : 456
置換フィールド { } にインデックス番号を指定すると、インデックス番号に応じた値で置換されます。
### 置換フィールドにインデックス番号を指定した例
hensu = '変数'
x = 123
y = 456
print('{0} x : {1}, {0} y : {2}'.format(hensu, x, y) )
#変数 x : 123, 変数 y : 456
置換フィールド { } に文字列を指定し、キーワード引数として使用できます。
### 置換フィールド { } に文字列を指定した例
a = "Apple"
b = "Banana"
print("{red} and {yellow}".format(red = a, yellow = b))
# Apple and Banana
スポンサーリンク
print関数の f文字列 の使い方
Python 3.6より、formatメソッドをより簡潔に記載する方法として、「f文字列」が利用できるようになりました。
文字列内の置換フィールド { } に、変数をそのまま指定できます。 f文字列は、文字列の前に、「f」または、「F」を記載することで使用できます。
簡単な使用例を紹介します。
### f文字列の使用例
a = "Apple"
b = "Banana"
print(f"{a} and {b}")
#Apple and Banana
print関数の数値の桁数指定方法
数値の桁数表示について、知っておくと便利なコードを紹介します。
数値の位取り
数値を位取りして表示するには、置換フィールドにコロンとカンマ {:,} を入力します。
### 数値の位取り
num1 = 1234567
print(f"{num1:,}")
# 1,234,567
数値の表示桁数を指定
数値の表示桁数を指定するには、置換フィールドに、"コロン"、"ピリオド"、"桁数"、"g" を入力します。
文字だと分かりにくいと思うので、下記のコード例を見た方が理解しやすいと思います。
### 数値の表示桁数を指定
num2 = 1234567
print(f"{num2:.2g}")
# 1.2e+06
print(f"{num2:.4g}")
# 1.235e+06
なお、この処理は"四捨五入"ではなく、"丸め"ですので注意してください。
○○5の場合は偶数側に丸められます。
### ○○5の場合の丸め処理の確認
num3 = 115
print(f"{num3:.2g}")
# 1.2e+02
num4 = 125
print(f"{num4:.2g}")
# 1.2e+02
数値の小数点以下の桁数を指定
数値の小数点以下の桁数を指定するには、置換フィールドに、"コロン"、"ピリオド"、"桁数"、"f" を入力します。
### 数値の小数点の以下の桁数を指定
num5 = 123.4567
print(f"{num5:.2f}")
# 123.46
小数点以下の桁数指定についても、先ほどの例と同様、"丸め"になるので注意してください。
スポンサーリンク
まとめ
print関数の基本的な使い方を紹介しました。
print関数は、pythonのコードを書き進めていく上で必須の関数なので、自由自在に使えるようにしておきましょう!
スポンサーリンク