【Python入門の第一歩】input(), print(), open()の使い方を徹底解説!

Python

はじめに:Pythonプログラミングの基本入出力(I/O)とは?

Pythonの学習を始めると、最初に出会うのが「入出力」の概念です。入出力、またはI/O (Input/Output) とは、プログラムが外部と情報をやり取りすることを指します。

  • 入力 (Input): ユーザーがキーボードから入力した情報や、ファイルから読み込んだデータなど。
  • 出力 (Output): 計算結果を画面に表示したり、ファイルにデータを保存したりすること。

この入出力は、あらゆるプログラムの根幹をなす非常に重要な機能です。

この記事で学べること

この記事では、Pythonにおける最も基本的で重要なI/O(入出力)操作を担う3つの組み込み関数を、初心者の方にも分かりやすく解説します。

  • input(): キーボードからの入力を受け取る
  • print(): 画面(コンソール)に文字や変数を表示する
  • open(): ファイルの読み書きを行う

これらの使い方をマスターすれば、簡単な対話型アプリケーションやデータ処理プログラムを作成する基礎が身につきます。

ユーザーからの入力を受け取る input() 関数

input()は、プログラムの実行中にユーザーからのキーボード入力を受け付け、その内容を文字列として取得するための関数です。

input() の基本的な使い方

使い方は非常にシンプルです。input()を呼び出すと、ユーザーが何かを入力してEnterキーを押すまで、プログラムの実行が一時停止します。

print("あなたのお名前を教えてください。")
name = input()
print(f"こんにちは、{name}さん!")

input()関数に引数としてメッセージ(プロンプト)を渡すと、入力待ちであるこをユーザーに分かりやすく示すことができます。

name = input("あなたのお名前を教えてください: ")
print(f"こんにちは、{name}さん!")

要注意!input() が返す値は常に「文字列」

input()を使う上で最も重要な注意点は、入力されたものが数字であっても、必ず文字列(string)として扱われることです。

age_str = input("あなたの年齢を教えてください: ")
print(type(age_str)) # <class 'str'> と表示される
# このままでは計算に使えない
# next_age = age_str + 1 # これはエラーになります!

入力された文字列を数値として扱う方法

入力された文字列を数値(整数や小数)として計算に使いたい場合は、型変換を行う必要があります。

  • 整数に変換する場合: int()
  • 小数に変換する場合: float()
age_str = input("あなたの年齢を教えてください: ")
age_int = int(age_str) # 文字列を整数に変換

next_age = age_int + 1
print(f"来年には{next_age}歳ですね!")

結果を画面に表示する print() 関数

print()は、文字列や変数の内容を画面(コンソール)に出力するための、最もよく使われる関数です。

print() の基本的な使い方

引数に渡した文字列や数値をそのまま表示します。

print("Hello, Python!")
print(123)

複数の値や変数をカンマでつなげて表示する

print()にカンマ区切りで複数の値を渡すと、それらが半角スペースで区切られて表示されます。

name = "Gem"
score = 95
print(name, "さんの点数は", score, "点です。")
# 実行結果: Gem さんの点数は 95 点です。

f-string(フォーマット済み文字列リテラル)を使ったモダンな表示方法

Python 3.6以降では、f-stringを使うのが最も推奨される方法です。文字列の前にfを付け、変数名を{}で囲むだけで、簡単に文字列内に値を埋め込めます。コードが非常に読みやすくなるため、積極的に使いましょう。

name = "Gem"
score = 95
print(f"{name}さんの点数は{score}点です。")
# 実行結果: Gemさんの点数は95点です。

ファイルを読み書きする open() 関数

open()は、テキストファイルなどの外部ファイルを操作(読み込み・書き込み)するために使用する関数です。

ファイル操作の基本と with 文の重要性

ファイルを操作する際は、open()でファイルを開き、処理が終わったら必ずclose()で閉じる必要があります。しかし、close()を忘れると問題が発生する可能性があるため、with文を使うのが一般的です。with文のブロックを抜けると、ファイルが自動的に閉じられるため安全です。

# with文を使った基本的な形
with open("ファイル名", "モード") as f:
    # ファイルに対する処理をここに書く

ファイルを読み込む (mode='r')

ファイルの内容を読み込むには、モードに'r' (read) を指定します。

# message.txt というファイルに "Hello, File!" と書かれているとします。

try:
    with open("message.txt", mode='r', encoding='utf-8') as f:
        content = f.read() # ファイル全体を一度に読み込む
        print(content)
except FileNotFoundError:
    print("ファイルが見つかりませんでした。")

ファイルに書き込む (mode='w', 'a')

ファイルに書き込む際のモードは主に2つあります。

  • 'w' (write): 上書きモード。ファイルが存在しない場合は新規作成します。すでにファイルが存在する場合は、中身をすべて消して最初から書き込みます。
  • 'a' (append): 追記モード。ファイルが存在しない場合は新規作成します。ファイルが存在する場合は、末尾に内容を追記します。
# 'w'モードで上書き
with open("log.txt", mode='w', encoding='utf-8') as f:
    f.write("最初のログです。\n")

# 'a'モードで追記
with open("log.txt", mode='a', encoding='utf-8') as f:
    f.write("2行目のログを追記します。\n")

日本語を扱うなら必須!文字コードの指定

日本語などの全角文字をファイルで扱う場合、文字化けを防ぐためにencoding='utf-8'を指定することが非常に重要です。これは現代のプログラミングでは、ほぼ必須のお作法だと考えましょう。

実践編:input(), print(), open()を組み合わせてみよう

最後に、これら3つの関数を組み合わせた簡単なプログラムを作ってみましょう。

ユーザーの名前を入力してもらい、ファイルに保存する

# 1. input()でユーザー名を取得
user_name = input("あなたの名前を入力してください: ")

# 2. open()でファイルに書き込み
file_path = "user_data.txt"
with open(file_path, mode='w', encoding='utf-8') as f:
    f.write(user_name)

# 3. print()で完了メッセージを表示
print(f"ようこそ、{user_name}さん!")
print(f"あなたの名前を {file_path} に保存しました。")

ファイルからメッセージを読み込んで、画面に表示する

# greeting.txt というファイルに "こんにちは、世界!" と保存しておきます。

file_path = "greeting.txt"

try:
    # 1. open()でファイルから読み込み
    with open(file_path, mode='r', encoding='utf-8') as f:
        message = f.read()
    
    # 2. print()で画面に表示
    print("--- ファイルからのメッセージ ---")
    print(message)
    print("----------------------------")

except FileNotFoundError:
    print(f"{file_path} が見つかりません。")

まとめ:基本I/Oをマスターして次のステップへ

今回は、Pythonプログラミングの基礎となる3つの入出力関数を学びました。

  • input(): ユーザーからの入力を文字列として受け取る。
  • print(): 画面に文字や変数を表示する。f-stringが便利。
  • open(): ファイルの読み書きを行う。withencoding指定が重要。

これらの関数は、プログラムと「外の世界」をつなぐための重要な窓口です。まずはこの3つを使いこなし、ユーザーと対話したり、データを永続化したりするプログラム作りに挑戦してみてください。ここからあなたのPythonの世界が大きく広がっていきます。

コメント

タイトルとURLをコピーしました