━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 実践プログラミング:Pythonの基本的な式と文 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●式 数値演算 - 符号反転 + - * / 四則 // % 整数の商と余り ** べき乗 round(num) 四捨五入 abs(num) 絶対値 int(obj) 整数値への変換 float(obj) 浮動小数点数への変換 条件式 == != 等号と等号否定 <= < > >= 不等号 not and or 論理演算 x in obj x not in obj 所属と非所属 num.is_integer() 整数判定 ●列(list,tuple,str)の操作 基本操作 len(seq) 長さ elem in seq 所属判定 seq1 < seq2 大小比較 seq[5] 添字による要素の参照 seq[-2] 末尾からの位置 部分列 seq[2:5] 開始位置と終了直後位置 seq[3:] 先頭(前半)部分 seq[:3] 末尾(後半)部分 seq[:] 全体のコピー seq[::2] 何個おきに抜き出すかの指定 他の操作 all(seq) any(seq) 論理値列の論理積と論理和 seq.count(elem) 出現回数 seq.index(elem) 出現位置(線形探索) sorted(seq) 整列後のリスト ●列や辞書の生成 内包表記 tuple(2*i for i in range(10)) タプル [2*i for i in range(10)] リスト {2*i for i in range(10)} 集合 {i: 2*i for i in range(10)} 辞書 条件付き内包表記 [i for i in range(10) if i%2==0] {i: 2*i for i in range(10) if i%2==0} ※タプルや集合も同様 特殊な列の生成 range(5) (0,1,2,3,4)相当の列 range(1, 5) (1,2,3,4)相当の列 reversed([3,1,2]) [2,1,3]相当の列 enumerate(['a','b','c']) ((0,'a'),(1,'b'),(2,'c'))相当の列 zip(['a','b','c'],[7,8,9]) (('a',7),('b',8),('c',9))相当の列 ※実体化には tuple(), list(), dict() 等で変換 ●文 入力 str_in = input('入力:') n = int(input('数を入力: ')) 出力 print(x, y, z) print(f'{7*week}日') 書式の指定 print('{:.2f}'.format(3.1415)) 書式の指定 print(*mylist, sep=':') 区切り文字列の指定 print(prompt, end='') 終端文字列の指定 代入 n = 0 s = 'abc'+'def' n += 1 n //= 2 演算結果による更新 record = ("temp", 15.5, 20.0) タプルの代入 (symb, low, high) = record 列の分解 (x, y) = (y, x) 値の交換 分岐 if x > 0: print('正') elif x < 0: print('負') else: print('零') 反復 for i in range(10): print(i, i**2) for (i, c) in enumerate('abc'): print(i+1, c) while len(seq) > 0: print(seq.pop(0)) ●定義と呼び出し 関数定義 def myfunction(x, y): return x+y 呼び出し myfunction(x, y) myobj.mymethod(x, y) ●その他 使えるメソッド呼び出し dir(obj) 解説文書 help(obj) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 実践プログラミング:Pythonプログラミング 山田 俊行 https://www.cs.info.mie-u.ac.jp/~toshi/