━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
実践プログラミング: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/