【毎日Python】Pythonで文字列が出力可能か確認する方法|str.isprintable

isprintable
毎日Python/こつこつPython
str = 'I am studying python'

Pythonで文字列が全て出力できるかどうか確認する方法です。
使用するのはPython標準ライブラリのisprintableメソッドです。
出力できる状態とは、print関数で実行した際に正しく文字列が表示される状態のことです。
isprintableメソッドでは、文字列がすべて出力できる場合にはTrue、出力できない文字が含まれている場合にはFalseを返します。
簡単な文字列を変数に格納してみましょう。

str.isprintable()

文字列の中が全て出力できる場合はTrueが返されます。
list.isprintable()で実行します。
Trueが返されました。

str = 'I am\n studying\a python'
str.isprintable()
print(str)

特殊文字が入っている文字列で試してみます。
特殊文字とは改行を表す\nやバックスペースを表す\b、タブを表す\tなどがあります。
実行します。
Falseが返されました。
print関数ではこのように表示されます。

str = 'I am studying python'
str.isprintable()
print(str)

また、半角スペースは出力できますが、全角スペースは出力できない文字とされています。
全角スペースが入った文字列を変数に格納します。
実行します。
Falseが返されました。
全角スペースに関しては、print関数では問題なく表示されているように見えますが、文字コードを定めるUnicodeの規定で印字されないものと定義されています。

関連メソッド

【毎日Python】Pythonのprint関数で改行せずに表示する方法|print