【python】if文の使い方 比較、検索、有無を調べる

if

条件分岐の基本の構文です。

if, elif, elseで条件分岐を作れます。elif0個以上使えます。

elseは最後の条件として使います。elseは必須ではありません。

if文の条件式がTrueの場合は実行文のコードが実行されます。

if, elif, else文は : (ダブルコロン)で区切り、実行文のブロックはインデントします。

数値比較の例

n=12;

if n == 12: print('nは12です')

if n < 0:
    print('nは0未満です')
elif n <= 10:
    print('nは0以上10以下です')
else:
    print('nは10より大きいです')

【結果】

nは12です
nは10より大きいです

実行文が1つの場合は、1行で書くことも可能です。

if n == 12: print('nは12です')

複数の数値比較を1つにまとめて表現できます。

n =12;
m = -18;

if n < 5 < m < 20 :
print('{} < 5 < {} < 20 は正しい式です'.format(n,m))
elif m < 5 < n < 20:
print('{} < 5 < {} < 20 は正しい式です'.format(m,n))

【結果】

-18 < 5 < 12 < 20 は正しい式です

文字列比較の例

文字列を == と != を使って比較してみます。

結果からわかる通り大文字と小文字の比較は一致しません。

if 'りんご' == 'りんご':
print("'りんご' == 'りんご'は正しいです")

if 'ABC' != 'abc':
print("'ABC' == 'abc'は不正です")

【結果】

'りんご' == 'りんご'は正しいです
'ABC' == 'abc'は不正です

リスト、ディクショナリ、タプル、Set比較

リストの==での比較は1つ1つの要素が完全一致であるときだけ成立します。ディクショナリ、タプル、Setも同様です。

また、要素が同じでも型が違う場合の==比較は成立しません。

#リスト比較
if [1, 2, 3] == [1, 2, 3]:
    print("No.1 True")
if [1, 2, 3] == [1, 2]:
    print("No.2 True")
#ディクショナリ比較
if {1:'I', 2:'II', 3:'Ⅲ'} == {1:'I', 2:'II', 3:'Ⅲ'}:
    print("No.3 True")
if {1:'I', 2:'II', 3:'Ⅲ'} == {1:'I', 2:'II'}:
    print("No.4 True")
#タプル比較
if (1, 2, 3) == (1, 2, 3):
    print("No.5 True")
if (1, 2, 3) == (1, 2):
    print("No.6 True")
#Set比較
if {1, 2, 3} == {1, 2, 3}:
    print("No.7 True")
if {1, 2, 3} == {1, 2}:
    print("No.8 True")
#リストとSet比較
if [1, 2, 3] == {1, 2, 3}:
    print("No.9 True")

【結果】

No.1 True
No.3 True
No.5 True
No.7 True

文字列検索(含まれる、含まれない)

inという演算子を使って文字列を検索できます。

str = 'an apple'
if 'pp' in str:
    print("'pp'は'%s'に含まれています" % str)
if 'an a' in str:
    print("'an a'は'%s'に含まれています" % str)

【結果】

'pp'は'an apple'に含まれています
'an a'は'an apple'に含まれています

要素の有無、キーの有無を調べる

inという演算子を使って要素やキーの有無を調べられます。

含まれない場合を調べたいときは not inを使います。

# 3があるかを調べる
if 3 in [1, 2, 3]:
    print("No.1 True")

# 4がないかを調べる
if 4 not in [1, 2, 3]:
    print("No.2 True")

# キーが1の要素があるか調べる
if 1 in {1:'I', 2:'II', 3:'Ⅲ'}:
    print("No.3 True")

【結果】

No.1 True
No.2 True
No.3 True

他の言語との違い

ある言語では、”条件を()で括る”、”処理を{}で区切る”、”elifをelse ifでかく”のようなルールがありますが、pythonにはありません。

そのため、見通しの良いコードになりやすいです。

pythonにはswitch文やcase文はないです。if-elif-elseを使って表現しましょう。

スポンサーリンク
スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です