notの概要
| 論理否定(ブール演算) Python予約語 | ||
|
not 概要 わかりやすく説明 |
||
|
notの基本的な使い方
以下の例では、not を使ってブール値を反転しています。
# not を使ったブール値の反転
is_logged_in = False
if not is_logged_in:
print("ログインが必要です")
is_logged_inがFalseの場合、not is_logged_inはTrueになる。- そのため、「ログインが必要です」と表示される。
notを使った条件分岐
条件が False の場合に実行する処理を not を使って表現できます。
# ユーザーがアクティブかどうかを判定
is_active = False
if not is_active:
print("このアカウントは無効です")
not is_activeにより、is_activeがFalseのときにメッセージが表示される。
notを使ってリストの空チェック
リストや文字列、辞書が空であるかを判定する際に not が便利です。
# リストが空かどうかを判定
items = []
if not items:
print("リストが空です")
- リストが空(
[])の場合、not itemsはTrueになる。 - 「リストが空です」と表示される。
notを使った比較演算
比較演算と組み合わせて、条件の否定を表現できます。
# not を使った比較演算
age = 20
if not (age < 18):
print("18歳以上なので入場可能です")
not (age < 18)により、ageが 18 以上ならTrueになる。- そのため、「18歳以上なので入場可能です」と表示される。
notとand・orの組み合わせ
not は and や or と組み合わせて、より複雑な条件を作成できます。
# not と and, or の組み合わせ
is_raining = False
has_umbrella = False
if not is_raining or has_umbrella:
print("外出できます")
- 雨が降っていない(
not is_raining)か、傘を持っているなら外出可能。
notの注意点
- 数値と組み合わせると 0 を False として扱う:
not 0はTrueになる。 - オブジェクトの存在判定に使える:
not objはオブジェクトがNoneや空の場合にTrueになる。 - 複雑な条件では括弧を使う:
not (x > 10 and y < 5)のように明示的にすることで可読性が向上する。
notのよくある質問
- Q: not は数値にも使えますか?
- A: はい。0 は
False、0 以外はTrueとして扱われます。 - Q: 空のリストや辞書に not を使うとどうなる?
- A: 空のリスト(
[])や辞書({})はFalseとして扱われ、not []はTrueになります。 - Q: not の優先順位は?
- A:
notはandより優先度が高く、orよりも優先度が低いです。
まとめ
not は論理否定を表し、条件分岐やループ処理において「条件を反転」する際に便利なキーワードです。
- ブール値を反転させる。
- リストや文字列が空かどうかを判定するのに便利。
- 比較演算と組み合わせて、条件の否定を表現可能。
適切に not を活用し、シンプルで分かりやすいコードを記述しましょう。