最近は業務改善を通してPythonに触れる機会が増えてきました。
その中でもprint関数は文字出力だけかと思っていたのですが、調べていると意外と便利なだとわかったため今回まとめてみます。
print関数について
リファレンスを参照してみると、以下のような引数が与えられていることがわかります。オブジェクト以外にも指定する項目があるようです。
print(*objects, sep=' ', end='\n', file=None, flush=False)
ユースケース
文字出力
指定したオブジェクトを呼び出します。変数のある要素や配列を呼び出すことも可能です。
text = "Hello World"
print(text)
> Hello World
区切り文字
sepで区切り文字を指定することができます。
print("Hello", "World", sep=",")
> Hello,World
つまり、00年代アニメのような表記も可能ということです。
print("Hello", "World", sep=" ☆ ")
> Hello ☆ World
> Hello ☆ World
最後の文字
endで終わりの文字を指定します。デフォルトは改行になっています。
print("Hello", "World", end=" ,")
> HelloWorld,
ということで、とある苗字一文字アイドル一家の曲名のような表記が誰でもできるようになりました。
print("Hello", "World", end=" ♡")
> HelloWorld ♡
> HelloWorld ♡
ファイル操作
fileを指定することで、ファイルへの書き込みが可能です。
text = "Hello World"
with open('./output.txt', mode='w', encoding='utf-8') as f:
print(text, file=f)
with open('./output.txt', mode='w', encoding='utf-8') as f:
print(text, file=f)
バッファのフラッシュ
flushを利用すると出力時のバッファがフラッシュされるため、リアルタイム表示などに適しています。
ex. flushなし
例えばflush=Falseを指定すると、"Hello"と"World"が同時に表示されることがあります。
import time
print("Hello", end='', flush=False)
time.sleep(2)
print("World")
ex. flushあり
flush=Trueだと"Hello"が先に表示され、2秒経ってから"World"が表示されます。
import time
print("Hello", end='', flush=True)
time.sleep(2)
print("World")
文字判定
特定の文字列内にある文字が含まれているかどうかや、数値の大小判定を行うことができます。
"Hello World"に"H"が含まれているかどうか
text = "Hello World"
print("H" in text)
> True
print("H" in text)
> True
数値の判定
num = 10
print(num < 3)
> False
print(num < 3)
> False
まとめ
基本的な関数ですが、リファレンスを見てみてると思ったより出来る範囲が広いことがわかりました。関数内の引数以外で、if文を書かなくても簡単な判定ができるのはお手軽でいいですね。
それではまた。