この記事では、Pythonでの文字出力についてご紹介します。
1. 基本的な使い方
print()
関数に文字列や変数を渡して出力します。
pythonコードをコピーするprint("こんにちは") # 基本的な文字列の出力
x = 10
print(x) # 変数の出力
出力:
コードをコピーするこんにちは
10
2. 複数の値を出力
カンマ(,
)で区切ると、複数の値をスペースで区切って出力します。
pythonコードをコピーするprint("名前:", "太郎", "年齢:", 25)
出力:
makefileコードをコピーする名前: 太郎 年齢: 25
3. カスタム区切り文字(sep 引数)
出力する値の間の区切り文字を変更できます。
pythonコードをコピーするprint("apple", "banana", "cherry", sep=", ")
出力:
コードをコピーするapple, banana, cherry
4. 出力の末尾を変更(end 引数)
デフォルトでは、print
関数は出力の末尾に改行(\n
)を追加しますが、end
を指定すると変更できます。
pythonコードをコピーするprint("Hello", end=" ")
print("World!") # 改行せず、続けて出力
出力:
コードをコピーするHello World!
5. 出力先を変更(file 引数)
デフォルトでは、print
関数は標準出力(コンソール)に出力しますが、file
引数を使用して別の出力先(例: ファイル)に出力できます。
pythonコードをコピーするwith open("output.txt", "w") as f:
print("これはファイルに出力されます", file=f)
このコードを実行すると、output.txt
ファイルに文字列が書き込まれます。
6. フォーマット済み文字列の出力
変数の値を文字列内に挿入するためにフォーマット機能を使えます。
a. f文字列(Python 3.6以降)
pythonコードをコピーするname = "太郎"
age = 25
print(f"名前: {name}, 年齢: {age}")
出力:
makefileコードをコピーする名前: 太郎, 年齢: 25
b. str.format メソッド
pythonコードをコピーするname = "花子"
age = 30
print("名前: {}, 年齢: {}".format(name, age))
出力:
makefileコードをコピーする名前: 花子, 年齢: 30
c. % 演算子(旧式)
pythonコードをコピーするscore = 95
print("点数: %d点" % score)
出力:
makefileコードをコピーする点数: 95点
7. オブジェクトのデフォルト表示
print
はオブジェクトを渡すと、そのオブジェクトの文字列表現を出力します。
オブジェクトに__str__
メソッドが実装されている場合、それが使用されます。
pythonコードをコピーするclass MyClass:
def __str__(self):
return "これはカスタムオブジェクトです"
obj = MyClass()
print(obj)
出力:
コードをコピーするこれはカスタムオブジェクトです
8. エスケープシーケンスの利用
文字列内に特殊な意味を持つ文字を使用できます。
\n
: 改行\t
: タブ\\
: バックスラッシュ\'
/\"
: シングル / ダブルクオートのエスケープ
pythonコードをコピーするprint("Hello\nWorld!")
print("A\tB\tC")
出力:
cssコードをコピーするHello
World!
A B C
9. Unicode文字の表示
print
はUnicodeをサポートしており、日本語や絵文字も表示可能です。
pythonコードをコピーするprint("こんにちは 🌟")
出力:
コードをコピーするこんにちは 🌟
10. flush 引数で即時出力
デフォルトでは、出力はバッファに保存されることがありますが、flush=True
を指定すると即時出力を強制できます。
pythonコードをコピーするimport time
for i in range(3):
print(i, end="...", flush=True)
time.sleep(1)
出力(即時表示される):
コードをコピーする0...1...2...
まとめ
print
関数には多くの便利なオプションや機能があり、以下の点で柔軟に使えます。
- 複数値の出力や区切り文字の指定(
sep
) - 改行や末尾変更(
end
) - 出力先の変更(
file
) - フォーマット済み文字列
- 即時出力(
flush
)
これらを状況に応じて使い分けることで、効率的で読みやすいコードを書けます!
リンク
リンク
リンク