4. 比較演算子など
• 比較演算子
== 等しい != 等しくない
< 小さい > 大きい
<= 以下 >= 以上
in 含まれる not in 含まれない
• 「真」と「偽」
True 真 False 偽
• 「かつ」と「または」と「not」
A and B AかつB A or B AまたはB
not A Aでない
6. while文
• while文
• while cond:でループを表す
• 実用上は後述のforが重要で、あまり使わない
• ループの先頭に移動するにはcontinueを使う
• ループを脱出するときはbreakを使う
• while True: で無限ループになる
• 例(1から10までを表示)
i = 1 # 初期値は1
while i <= 10: # iが10以下の間
print(i) # iを表示
i += 1 # iを1増やす
7. for文
• for文
• リストやファイルについて反復
• breakとcontinueはwhileと同じ
• 例
for i in [0, 1, 2]: # [0, 1, 2]はリスト
print(i) # 0 1 2を合計3行で表示
for l in sys.stdin: # 標準入力の各行について
print(l.rstrip()) # 改行を削除して表示
for y in [x * x for x in range(5)]:# リスト内包表記
print(y) # y(xの2乗)を表示
21. 発展―特殊メソッド
• 特殊メソッド
• 構文や演算子、関数の裏側で使われるメソッド
• a+bはa.__add__(b)に読み替えられる、など
• 1+3が4で'1'+'3'が'13'の理由
• intの__add__は整数の加法を返す
• strの__add__は連結した文字列を返す
• 特殊メソッドの例
a + b a.__add__(b) クラスの作成 x.__init__()
a == b a.__eq__(b) for x in iter: iter.__next__()
str(x) x.__str__() x in s (for以外) s.__contains__(x)
len(s) s.__len__() ifの条件 x.__bool__()
x[i] x.__getitem__(i) print(x) x.__str__()
x[i] = v x.__setitem__(i, v) 関数呼び出し f.__call__(args)