スポンサーリンク

コードが書ける!数式が書ける!AAが書ける!スタンプが貼れる!

無料の匿名掲示板型SNS「このはちゃんねる

新規会員募集中!

Pythonのif文の書き方【上級者向け】

312, 2020-03-05

目次

Pythonのif文の書き方

Pythonのif文の書き方です。
短い説明と簡潔なコードを掲載しています。

基本的なif文

基本的なif文。

if 1:
    print('真')

条件式がTrue、真の時にブロックの処理が実行される。

elif

if文にelifを繋げる。
他言語ではelse ifなどに相当。

if 0:
    print('偽')
elif 1:
    print('真')

最初のif文が偽の時にelifの判定が行われる。
elifは複数連ねることも出来る。

if 0:
    print('偽1')
elif 0:
    print('偽2')
elif 1:
    print('真')

最初のif文が偽なので(偽1)、次のelifの判定に移る(偽2)。このelifも偽なので最後のelifの判定が行われる。

else

if文にelseを繋げる。
最初のif文が偽の時に実行される。

if 0:
    print('偽')
else:
    print('else')
else

elseはelifと違い、if文の中で1つしか書けない。

elifとelse

elifとelseの複合文。

if 0:
    print('偽1')
elif 0:
    print('偽2')
elif 0:
    print('偽3')
else:
    print('else')

最初にifの判定が行われ、elifelifと判定が進んで最後のelseが実行される。
先述の通り、elifは複数書けるが、ifとelseは1つのif文の中で1つしか書けない。

int(整数)が真。

if 1:
    print('1は真')

if 0:
    print('0は偽')
1は真

bool(真偽値)が真。

if True:
    print('Trueは真')

if False:
    print('Falseは偽')
Trueは真

str(文字列)が真。

if 'abc':
    print('文字列は真')

if '':
    print('空文字列は偽')
文字列は真

list(リスト)が真。

if [1, 2]:
    print('リストは真')

if []:
    print('空のリストは偽')
リストは真

tuple(タプル)が真。

if (1, 2):
    print('タプルは真')

if ():
    print('空のタプルは偽')
タプルは真

dict(辞書)が真。

if {'a': 1, 'b': 2}:
    print('辞書は真')

if {}:
    print('空の辞書は偽')
辞書は真

set(集合)が真。

if {1, 2}:
    print('集合は真')

if set():
    print('空の集合は偽')
集合は真

tuplelistなどの長さはintの真偽判定と同じ。

if len('abc'):
    print('文字列の長さは真')

if len(''):
    print('空文字列の長さは偽')

if len([1, 2]):
    print('リストの長さは真')

if len([]):
    print('空のリストの長さは偽')

if len((1, 2)):
    print('タプルの長さは真')

if len(()):
    print('空のタプルの長さは偽')

if len({'a': 1, 'b': 2}):
    print('辞書の長さは真')

if len({}):
    print('空の辞書の長さは偽')

if len({1, 2}):
    print('集合の長さは真')

if len({}):
    print('空の集合の長さは偽')
文字列の長さは真
リストの長さは真
タプルの長さは真
辞書の長さは真
集合の長さは真

notを使った真偽値の反転

not演算子を使うことで真偽値を反転できる。

intの判定の反転。

if not 0:
    print('0の反転は真')

if not 1:
    print('1の反転は偽')
0の反転は真

boolの判定の反転。

if not False:
    print('Falseの反転は真')

if not True:
    print('Trueの反転は偽')
Falseの反転は真

strの判定の反転。

if not 'abc':
    print('文字列の反転は偽')

if not '':
    print('空文字列の反転は真')
空文字列の反転は真

listの判定の反転。

if not [1, 2]:
    print('リストの反転は偽')

if not []:
    print('空のリストの反転は真')
空のリストの反転は真

tupleの判定の反転。

if not (1, 2):
    print('タプルの反転は偽')

if not ():
    print('空のタプルの反転は真')

dictの判定の反転。

if not {'a': 1, 'b': 2}:
    print('辞書の反転は偽')

if not {}:
    print('空の辞書の反転は真')
空の辞書の反転は真

setの判定の反転。

if not {1, 2}:
    print('集合の反転は偽')

if not set():
    print('空の集合の反転は真')

左辺と右辺が等しい

左辺と右辺が等しいときの判定を取る場合は==を使う。

int同士の比較。

if 1 == 1:
    print('等しい')

if 1 == 0:
    print('等しくない')
等しい

bool同士の比較。

if True == True:
    print('等しい')

if True == False:
    print('等しくない')
等しい

str同士の比較。

if 'abc' == 'abc':
    print('等しい')

if 'abc' == 'def':
    print('等しくない')
等しい

list同士の比較。

if [1, 2] == [1, 2]:
    print('等しい')

if [1, 2] == [3, 4]:
    print('等しくない')
等しい

tuple同士の比較。

if (1, 2) == (1, 2):
    print('等しい')

if (1, 2) == (3, 4):
    print('等しくない')
等しい

dict同士の比較。

a = {'a': 1, 'b': 2}
b = {'a': 1, 'b': 2}
c = {'c': 3, 'd': 4}

if a == b:
    print('等しい')

if a == c:
    print('等しくない')
等しい

set同士の比較。

a = {1, 2}
b = {1, 2}
c = {2, 3}

if a == b:
    print('等しい')

if a == c:
    print('等しくない')
等しい

左辺と右辺が等しくない

左辺と右辺が等しくない判定で真を取りたいときは!=を使う。

if 1 != 2:
    print('等しくない')

if 1 != 1:
    print('等しい')
等しくない

左辺が右辺より大きい

左辺が右辺より大きいか判定したい場合は>を使う。

if 2 > 1:
    print('大きい')

if 1 > 2:
    print('大きくない')
大きい

左辺が右辺より小さい

左辺が右辺より小さいか判定したい場合は<を使う。

if 1 < 2:
    print('小さい')

if 2 < 1:
    print('小さくない')
小さい

左辺が右辺以上

左辺が右辺以上か判定したい場合は>=を使う。

if 2 >= 2:
    print('以上')

if 1 >= 2:
    print('以上じゃない')
以上

左辺が右辺以下

左辺が右辺以下か判定したい場合は<=を使う。

if 2 <= 2:
    print('以下')

if 3 <= 2:
    print('以下じゃない')
以下

andを使った判定

条件式を結合したいときはandを使う。
他言語では&&に相当する。
andは両方の判定が共に真である時に真になる。

if 1 == 1 and 2 == 2:
    print('真')

if 1 == 2 and 3 == 4:
    print('偽')

カッコを使えば判定の優先順位を制御できる。

if 1 == 1 and (2 == 2 and (3 == 3 and 4 == 4)):
    print('真')

notを使うとandで得た判定を反転できる。

if not (0 == 0 and 1 == 2):
    print('真')

BNFによると演算子の優先順位はnot > andなので、カッコを付けるクセを付けておくと良いかも。

orを使った判定

条件式を結合したいときはorを使う。
他言語では||に相当する。
orはどちらか一方の判定が真であれば真になる。

if 1 == 1 or 2 == 3:
    print('真')

if 1 == 2 or 3 == 4:
    print('偽')

カッコを使えば判定の優先順位を制御できる。

if 1 == 1 or (2 == 2 or (3 == 3 or 4 == 4)):
    print('真')

notを使うとorで得た判定を反転できる。

if not (1 == 2 or 3 == 4):
    print('真')

BNFによると演算子の優先順位はnot > orかつand > orなので、カッコを付けるクセを付けておくと良いかも。

inを使った判定

比較演算子にinがある。
これを使うと、データのまとまりの中にあるデータが含まれているか簡単に判定できる。

if 1 in [1, 2]:
    print('リストには1が含まれている')

if 1 in [2, 3]:
    print('リストには1が含まれていない')

if 1 in (1, 2):
    print('タプルには1が含まれている')

if 1 in (2, 3):
    print('タプルには1が含まれていない')
リストには1が含まれている
タプルには1が含まれている

not inを使うことで判定を判定できる。

if 1 not in [2, 3]:
    print('リストには1が含まれていない')

if 1 not in [1, 2]:
    print('リストには1が含まれている')
リストには1が含まれていない

関連記事

投稿者名です。64字以内で入力してください。

必要な場合はEメールアドレスを入力してください(全体に公開されます)。

投稿する内容です。

スポンサーリンク

スポンサーリンク

スポンサーリンク

スポンサーリンク