条件分岐の簡単なサンプル集 (Python)
[履歴] (2013/07/20 12:08:47)
最近の投稿
注目の記事

if-elif-else

sample.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
# コメント内であっても、ASCII外の文字が含まれる場合はエンコーディング情報が必須

x = 1

# 一行スタイル
if x==0: print 'a'    # 参考: and,or,notが使用可能 (&&,||はエラー)
elif x==1: print 'b'  # elif (elsifでもelse ifでもない)
else: print 'c'

# インデントスタイル
if x==0:       # 参考: 0,空のオブジェクト,Noneオブジェクト,Falseオブジェクトのみが偽
    print 'a'  # pythonのprintは改行する (rubyのputsに相当)
elif x==1:
    print 'b'
else:
    print 'c'

# これはエラー (インデントが必要)
# if x==0:
# print 'a'
# elif x==1:
# print 'b'
# else:
# print 'c'

実行例

$ python sample.py 
b
b

ディクショナリを使用した例

pythonにはswitch caseがない。

sample.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
x = 1
print {0: 'a',
       1: 'b',
       2: 'c'}[x];

print {0: 'a',
       1: 'b',
       2: 'c'}.get(x);

print {0: 'a',
       1: 'b',
       2: 'c'}.get(x+999,'default');

実行例

$ python sample.py 
b
b
default

代入もできる

x = 't' if True else 'f'
print x  #=> 't'
関連ページ
    range 「0から10まで」といった範囲をリスト形式で生成します。C言語などのfor文と比較して考えるとイメージしやすいかもしれません。 sample.py print range(10) # for(int i=0; i<10; ++i) print range(5,10) # for(int i=5; i<10; ++i) print range(5,10,2) # for(int i=