文法・環境 組み込み関数

【python】print関数の基本的な使い方まとめ。引数、改行ありなし、formatメソッド、f文字列、数値の桁数指定など。

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

置換フィールド { } にインデックス番号を指定すると、インデックス番号に応じた値で置換されます

### 置換フィールドにインデックス番号を指定した例
x = "変数"
y = 123
z = 456

print('{0} x : {1}, {0} y : {2}'.format(x, y, z) )
#変数 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」を記載することで使用できます。

print( 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のコードを書き進めていく上で必須の関数なので、自由自在に使えるようにしておきましょう!

スポンサーリンク

スポンサーリンク

-文法・環境, 組み込み関数
-,