本ページはプロモーションが含まれています

【Python】if文を用いた空入力の判定

Python組込み型

本記事では、文字入力があったかどうか(空かどうか)をPythonの真偽判定を用いて確認する方法について紹介します。
入力フォームの空入力に対する処理のときなどに役に立つと思います。

スポンサーリンク

入力が空かどうかを確認する

空のシーケンス(文字型やリスト、タプル等)およびコレクションはPythonの真理値判定 ではFalseとなり、if や whileの条件として使うことができます。

具体的なコード例を以下に示します。

def check_str(s):
    if s:     ★ここで判定(空だったらFalse)
        print(s)
    else:
        print('Not entered')


s = input('Enter some strings: ')
check_str(s)

実行結果

>>> Enter some strings: test
test

# 何も入力しないでEnter
>>> Enter some strings: 
Not entered

但し、これは入力があったかどうかのみを判定しており、スペース等の空白文字が入力された場合はTrueと判定されてしまいます。

空白文字だけの場合も「空」と判定するには、例えばstrip()を使って空白文字を削除する処理(例えば、★部を以下のように)を追加すれば可能です。 

if s.strip():  ★strip()で空白文字を削除

<関連記事> strip()を使った空白文字の削除方法

【Python】 特定の文字列や空白文字を削除する (strip, rstrip, lstrip、replace)
テキスト解析の前処理など、文字列の先頭と末尾の空白文字(スペース)や末尾の改行(\n)を削除したい場合がある。このような時は、文字列のメソッドであるstr.strip()、str.lstrip()、str.rstrip()が便利。また、str.replace()を使えば特定の文字列を全て削除することも出来る。

<関連記事> オブジェクトの真理判定(True/False)の方法

【Python】ブール値(True、False)の確認・判定(真理判定、bool関数)
Pythonでは真理値(真偽値)をブール値False、Trueで表します。また、どのオブジェクトもTrue/Falseとして判定され、組込み関数bool()で値をブール値に変換できます。

環境

  • OS: Ubuntu20.04LTS
  • Python3.9.7

まとめ

オブジェクトは(デフォルトでは)Trueなので、文字入力が空かどうかif文を使って判定可能

参考書籍

書籍でもう少し詳しく学びたい場合はこちらもどうぞ。筆者もかなり参考にさせてもらっています!

シェアする
ひびきをフォローする
Hbk project