0
0

【Python3エンジニア認定基礎試験】7. 入力と出力

Last updated at Posted at 2024-08-31

7.入力と出力

プログラムの出力方法にはいくつかの種類があります。データを人間が読める形で出力することもあれば、将来使うためにファイルに書き込むこともあります。この章では、さまざまな出力方法について説明します。

7.1. 出力を見やすくフォーマットする

Pythonでは、出力をフォーマットするためにいくつかの方法が提供されています。

7.1.1. フォーマット済み文字列リテラル

フォーマット済み文字列リテラル(f-string)は、Pythonの式を {} 内に記述することで、その式の値を文字列に埋め込むことができます。文字列の最初に f または F を付けて使用します。

year = 2016
event = 'Referendum'
print(f'Results of the {year} {event}')
Results of the 2016 Referendum

オプションのフォーマット指定子を使用して、値の表示形式を細かく制御できます。例えば、次のコードでは、円周率を小数点以下3桁まで表示します。

import math
print(f'The value of pi is approximately {math.pi:.3f}.')
The value of pi is approximately 3.142.

7.1.2. 文字列の format() メソッド

str.format() メソッドを使用すると、出力のフォーマットをより柔軟に制御できます。{} で囲まれた部分が置換フィールドとなり、format() に渡された引数に置き換えられます。

print('We are the {} who say "{}!"'.format('knights', 'Ni'))
We are the knights who say "Ni!"

引数の順番を指定することもできます。

print('{1} and {0}'.format('spam', 'eggs'))
eggs and spam

7.1.3. 文字列の手作業でのフォーマット

手作業でフォーマットすることも可能です。
例えば、文字列を右寄せで表示するには、str.rjust() メソッドを使用します。

for x in range(1, 11):
    print(repr(x).rjust(2), repr(x*x).rjust(3), repr(x*x*x).rjust(4))
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125
 6  36  216
 7  49  343
 8  64  512
 9  81  729
10 100 1000

7.1.4. 古い文字列書式設定方法

古い書式設定方法として % 演算子を使う方法があります。
次の例は、%5.3f を使って円周率をフォーマットしています。

import math
print('The value of pi is approximately %5.3f.' % math.pi)
The value of pi is approximately 3.142.

7.2. ファイルを読み書きする

ファイルを開いて読み書きするには、open() 関数を使用します。
例えば、書き込み用にファイルを開く場合は次のようにします。

f = open('workfile', 'w', encoding="utf-8")

ファイルの内容を読み取るには、f.read(size) を使用します。
size は読み取るデータのサイズを指定します。

f.read()

すべての行をリストとして読み取る場合は、f.readlines() を使用します。
また、with 文を使用してファイルを操作することで、処理が終わった後に自動的にファイルを閉じることができます。

with open('workfile', encoding="utf-8") as f:
    read_data = f.read()

ファイルに書き込むには、f.write(string) を使用します。

f.write('This is a test\n')

書き込んだ後は、必ず f.close() を呼び出してファイルを閉じるようにしましょう。
with 文を使用すれば、自動的にファイルが閉じられます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0