プログラミングの第一歩は、画面に文字を表示することです。
Pythonではprint()
関数を使って簡単に「Hello, World!」を出力できます。
本記事では、print()
の基本から改行や区切りの制御、文字列の書き方、変数の表示、よくあるエラーまで、実行例と出力を併記しながら丁寧に解説します。
Pythonのprint()とは?「Hello, World!」を表示する基本
print()の役割と標準出力の仕組み
標準出力(stdout)に文字を送る関数です
print()
は、与えた値を標準出力(コンソール/ターミナル)に文字として表示する関数です。
複数の値を渡すと、既定では半角スペースで区切られ、行末には自動的に改行文字が付与されます。
改行や区切りは引数で制御できます。
対話モードとスクリプト
Pythonは対話モード(REPL)でもスクリプト実行でも同じprint()
が使えます。
学習初期はREPLで結果をすぐ確認し、慣れてきたら.py
ファイルに保存して実行すると良いでしょう。
最小例:print(“Hello, World!”) の実行
最短のサンプルコード
# hello.py
# もっとも基本的な「Hello, World!」
print("Hello, World!")
Hello, World!
print()の基本構文と文字列の書き方
シングル/ダブルクォートの使い分け
引用符はどちらでもOK。内側のクォートに合わせて使い分けます
Pythonでは文字列を'...'
(シングルクォート)または"..."
(ダブルクォート)で囲めます。
文字列内に同じ種類の引用符を含めたい場合は、もう一方で囲むか、バックスラッシュでエスケープします。
# どちらも同じ意味
print('Hello, World!')
print("Hello, World!")
# 文字列中にダブルクォートを含める(外側をシングルに)
print('He said, "Python is fun."')
# 文字列中にシングルクォートを含める(外側をダブルに)
print("It's a pen.")
# エスケープで含める
print("He said, \"Python is fun.\"")
print('It\'s a pen.')
Hello, World!
Hello, World!
He said, "Python is fun."
It's a pen.
He said, "Python is fun."
It's a pen.
エスケープシーケンス(\n, \t など)の基礎
よく使う制御文字の一覧
代表的なエスケープは次のとおりです。
記法 | 意味 | 例の見え方 |
---|---|---|
\n | 改行 | 新しい行に移動 |
\t | タブ | 水平タブで揃え |
\\ | バックスラッシュ自身 | \ を表示 |
\’ | シングルクォート | ' を表示 |
\” | ダブルクォート | " を表示 |
# 改行とタブの例
print("A\nB\nC") # A, B, C を縦に並べる
print("col1\tcol2\tcol3") # タブで区切る
print("C:\\Users\\you") # Windows風のパス表示
A
B
C
col1 col2 col3
C:\Users\you
日本語・絵文字などUnicode文字の表示
Python 3は標準でUnicode対応です
Python 3のstr
はUnicode文字列です。
ソースコードがUTF-8で保存され、端末が表示に対応していれば、日本語や絵文字もそのまま表示できます。
# 日本語と絵文字をそのまま表示
message = "こんにちは、世界🌏"
print(message)
こんにちは、世界🌏
補足として、エディタのファイルエンコードはUTF-8を推奨します。
必要に応じてファイル先頭に# -*- coding: utf-8 -*-
のようなエンコーディング宣言を入れても構いません。
改行と区切りの制御:end引数・sep引数の使い方
改行なしで出力する end=””
行末文字を差し替えてつなげて出力します
print()
は既定で末尾に\n
(改行)を付けますが、end
引数で変更できます。
# 改行せずに横並びで出力
for i in range(3):
print(i, end="") # 改行の代わりに何も入れない
print("<END>") # ここで改行される
# スペースやカンマを行末に入れる例
for i in range(3):
print(i, end=" ")
print("|") # 末尾の確認
012<END>
0 1 2 |
値の区切りを指定する sep=”,” など
複数引数の間の区切り文字を指定できます
print(a, b, c)
のように複数値を渡すと、既定では半角スペースで区切られます。
sep
で任意の文字列に変更できます。
print(2025, 8, 17) # 既定はスペース
print(2025, 8, 17, sep="-") # ISO風な日付
print("A", "B", "C", sep=",") # カンマ区切り
print("path", "to", "file", sep="/") # 区切りで組み立て
nums = [1, 2, 3]
print(*nums, sep=" | ") # アンパックで挿入
2025 8 17
2025-8-17
A,B,C
path/to/file
1 | 2 | 3
変数や式を出力する:f文字列とformat()の基本
f-stringで値・計算結果を埋め込む
読みやすく高速、学習初期からおすすめです
Python 3.6以降は、f"..."
の中に{式}
を書いて値を埋め込めます。
可読性が高く、デバッグ印字にも便利です。
name = "Alice"
a, b = 7, 3
print(f"Hello, {name}!")
print(f"{a} + {b} = {a + b}")
# 変数名と値を対にして見やすく
print(f"{a=}, {b=}, sum={a + b}")
Hello, Alice!
7 + 3 = 10
a=7, b=3, sum=10
format()でカンマ区切り・小数点桁数を指定
書式指定ミニ言語で見た目を整えます
str.format()
を使うと、桁区切りや小数点以下桁数などを柔軟に指定できます。
amount = 12345.6789
ratio = 0.756
# カンマ区切りと小数点2桁
print("amount = {:,.2f}".format(amount))
# パーセント表示(小数→百分率)と桁数
print("ratio = {:.1%}".format(ratio))
# 位置・名前付きプレースホルダ
print("x={0}, y={1}, y/x={2:.3f}".format(12, 5, 5/12))
print("lat={lat:.4f}, lon={lon:.4f}".format(lat=35.6812, lon=139.7671))
amount = 12,345.68
ratio = 75.6%
x=12, y=5, y/x=0.417
lat=35.6812, lon=139.7671
補足として、f-stringでも同じ書式指定が使えます(例:f"{amount:,.2f}"
)。
複数行・複数値の出力パターン
三重クォートで複数行文字列を出力
改行やそのままのレイアウトを保持できます
"""..."""
(または'''...'''
)で複数行の文字列を表せます。
長い説明文やヘルプ表示に便利です。
text = """\
行頭から表示したい複数行のテキストです。
空行も
そのまま残せます。
"""
print(text)
行頭から表示したい複数行のテキストです。
空行も
そのまま残せます。
複数引数をprint()に渡す書き方
連結よりも複数引数+sep指定が実用的です
+
で文字列連結するより、print(value1, value2, sep=" ")
のほうが可読性が高く、非文字列も自動で文字列化されます。
user = "bob"
age = 20
height = 170.5
# 文字列連結(非推奨寄り:型変換が煩雑)
print("user=" + user + ", age=" + str(age) + ", height=" + str(height))
# 複数引数とsep(推奨)
print("user=", user, ", age=", age, ", height=", height, sep="")
user=bob, age=20, height=170.5
user=bob, age=20, height=170.5
よくあるエラーとトラブルシューティング
引用符の不一致・全角記号によるSyntaxError
クォートの開き閉じをそろえ、全角の混入に注意します
引用符の対応が取れていない、あるいは全角クォート(“ ” ‘ ’)や全角スペースを使うと構文エラーになります。
# 悪い例:クォート不一致と全角クォート
# print("Hello, World!') # ← 開きが"で閉じが'
# print(“Hello, World!”) # ← 全角のダブルクォート
# 良い例
print("Hello, World!")
Hello, World!
エラーメッセージの例としては、SyntaxError: EOL while scanning string literal
や、invalid character in identifier
などが表示されます。
エディタの自動置換機能(スマートクォート)を無効にし、半角の記号のみを用いて記述してください。
文字化け・エンコード問題の対処法
UTF-8で保存し、コンソールのエンコーディングを合わせます
日本語が「????」や「文字化け」になる場合は、次の点を確認します。
- ソースファイルをUTF-8で保存する(エディタ設定をUTF-8にする)。
- ターミナルの文字コードをUTF-8にする。Windowsでは「Windows Terminal」やPowerShellで既定UTF-8が使いやすいです。従来のコマンドプロンプトでは
chcp 65001
でUTF-8に切り替えられます。 - 必要に応じて、Pythonの標準出力のエンコーディングを明示します。
# 出力ストリームのエンコーディングを明示(Python 3.7+)
import sys
sys.stdout.reconfigure(encoding="utf-8")
print("日本語と絵文字:こんにちは🌟")
日本語と絵文字:こんにちは🌟
ファイルに保存してから開く場合は、print(..., file=...)
で明示的にUTF-8で開いたファイルに書き出す方法も有効です。
# UTF-8でファイルに書き出し
text = "履歴書:山田太郎"
with open("out.txt", "w", encoding="utf-8") as f:
print(text, file=f)
print("書き込み完了")
書き込み完了
まとめ
print()
はPython学習の入口であり、実務でもログやデバッグ出力として欠かせません。
本記事では、基本の「Hello, World!」から、文字列の書き方、改行と区切りの制御、f文字列やformat()
による整形、複数行の出力、そしてよくあるエラー対策までを通して解説しました。
まずはprint()
で確実に意図した表示ができるようにし、次にsep
やend
、書式指定を使って「読みやすい出力」を意識すると、コードの品質と作業効率が向上します。