【Python】if文ってなんだ!使い方と豆知識

track-text.jpg

if文の基本的な使い方

下記のコードはiが3の倍数だったら”Fizz”を表示して、iが5の倍数だったら”Buzz”を表示して、iが15の倍数だったら”FizzBuzz”それ以外は数を表示するコードです。

msg = ""
i = 10
if i % 3 == 0:
    msg += "Fizz"
elif i % 5 == 0:
    msg += "Buzz"
else:
    msg = i
print(msg)

Pythonのif文で特徴的なのはコードブロックをインデントで認識するところです。インデントは半角スペースでもタブでもよいです。

ダメなインデント

インデントを消すと、動かなくなります。

i=10
if i % 3 == 0:
print("Fizz")

  File "<stdin>", line 2
    print("Fizz")
        ^
IndentationError: expected an indented block

インデントの数も重要で、同一ブロックでインデントの数が異なるとエラーが発生します。

i = 10
if i % 3 == 0:
    print("hoge")
print("Fizz")

  File "<stdin>", line 3
    print("Fizz")
                ^
IndentationError: unindent does not match any outer indentation level

論理演算子

Python以外の言語では&(アンドマーク)、|(バーティカルバー)、!(ビックリマーク)を使いますが、これらはPythonではビット演算となるので使えません。かわりにPythonの論理演算子は直感的な英語でand、or、notを利用します。ただし、!は!=のようにノットイコールに使うことはあります。

aとbが等しい(==)

a = 3
b = 4
if a == a:
    print("hoge")
if a == b:
    print("fuga")

実行結果:

hoge

aとbが等しくない(!=)

a = 3
b = 4
if a != b:
    print("hoge")

実行結果:

hoge

以上(<=)、以下(>=)

a = 3
b = 4
if a <= b:
    print("hoge")
if a >= b:
    print("fuga")

実行結果:

hoge

=<と=>は使えない

a =< b
  File "<stdin>", line 1
    a =< b
       ^
SyntaxError: invalid syntax

a => b
  File "<stdin>", line 1
    a => b
       ^
SyntaxError: invalid syntax

AかつB (and)

10以下かつ3の倍数だったら”Fizz”と表示

i = 10
if i % 3 == 0 and i <= 10:
    print("Fizz")

AまたはB (or)

10以下または3の倍数だったら”Fizz”と表示

i = 10
if i % 3 == 0 or i <= 10:
    print("Fizz")

Aではない (not)

3の倍数でない場合”Buzz”と表示

i = 10
if not i % 3 == 0:
    print("Fizz")

AはBである (is)

i = 10
if i is 2:
    print("hoge")
elif i is 10:
    print("fuga")

実行結果:

fuga

リストに関する条件

inでリストに要素が含まれるかを確認

fruits = ["apple","orange","grape"]
if "orange" in fruits:
    print("オレンジは入ってます")
if "melon" in fruits:
    print("メロンは入ってません")

実行結果:

オレンジは入ってます
メロンは入ってません

リストが空の場合Falseを返す

hoge = []
if hoge:
    print("hogeは空ではありません")
else:
    print("hogeは空です。")

実行結果:

hogeは空です。

NoneはFalseを返す

if None:
    print("hoge")
if not None:
    print("fuga")

実行結果:

fuga

型の判定

Pythonで型の判定を行いたい場合はtypeを利用しましょう。

a = 3
if type(a) == int:
    print("intです")
if type(a) == float:
    print("floatです")

実行結果:

intです

コメント

タイトルとURLをコピーしました