日々の事柄に関する雑記帳。



基本

文字コードUTF-8
一行コメント文頭に「#」。
複数行コメント「"""」、あるいは「'''」で囲む。
コード中の改行(行継続)改行位置にバックスラッシュ「\」。
インデント4つの半角スペース。
タブは用いない慣行。

文字列

「"」、「'」で囲む。
エスケープはバックスラッシュ「\」。

データ構造

リストデータに順序がある。複数の異なるデータ型を含むことができる。my_list = [1, 2, 3, True, 'end']
print(my_list[0]
辞書データに順序がある。キーと値を含む。
キーは重複不可。
my_dictionary = {1: 'red', 2: 'green', 3: 'blue'}
print(my_dictionary[2])
タプルデータに順序がある。変更できないリスト。
辞書のキーとして利用できる。
my_turple = (0, 1, 2, True, 'end')
print(my_turple[0])
セットデータに順序がない。重複した値を持てないリスト。my_set = {0, 1, 2, True, 'end'}
print(my_set)
print(my_set)
セット関数にリスト、辞書、タプルを代入して作成すると、元のデータの重複が排除される。
セットは順をもたないので、添え字(インデックス番号)で参照できないことに注意。

条件分岐

複合条件式「and」、「or」
比較演算子in: 値、要素、キーが対象に含まれるか?

if

if val == True:
    print('route true')
elif val == False:
    print('route false')
else:
    print('route unknown')

繰り返し

ループの中断break
ループのスキップcontinue

while

num = 0

while a num < 10:
    print(num)
    num += 1

for

for val in my_list:
    print(val)

for num in range(10):
    print(num)

モジュール

モジュールを読み込む。
import math
print(math.floor(math.pi))

モジュールに別名を付与する。
import math as m
print(m.floor(m.pi))

モジュール内の特定の関数だけを読み込む。
from math import floor
print(floor(math.pi))

ファイル処理

my_file = open('ファイルのパス', 'モード', encoding='UTF-8')

# ファイル全体を読み込む
my_file.read()

# ファイルを1行、読み込む。ファイル全体が、1行ずつリスト化される。
my_list = my_file.readlines()

# ファイルを1行ずつ、読み込む。
for my_line = my_file:
    print(my_line)

モード

read onlyrファイルが存在しない場合、エラーになる。
書き込むwファイルが上書きされる。
ファイルが存在しない場合、新規作成。
追記aファイル末尾から書き込む。
ファイルが存在しない場合、新規作成。

関数、モジュール

def hello_world(loop = 1):
    for num inr range(loop):
        print('hello world')

上の関数をhello_world.pyに保存する。hello_world.pyはモジュールとして機能する。
モジュール内の関数は次のように呼び出す。
import hello_world

hello_world(10)

モジュール単体で実行するとき(hello_world.pyを実行するとき)、次の記述がある箇所だけ実行される。
モジュール内の関数をテストするためのコードを記述しておくとよい。
if __name__ == "__main__":
    print("test code")

クラス

class Person:
    def __init__(self, name, height, weight):
        self.name = name
        self.height = height
        self.weight = weight

    def bmi(self):
        return self.weight / self.height ** 2

上のクラスをmy_class.pyに保存する。my_class.pyはモジュールとして機能する。
モジュール内のクラスは次のように呼び出す。
import my_class

p = my_class.Person("test", 1.75, 65)
print(p.bmi())

継承

Personクラスを継承したTrainerクラスを定義する。
class Person:
    def __init__(self, name, height, weight):
        self.name = name
        self.height = height
        self.weight = weight

    def bmi(self):
        return self.weight / self.height ** 2

class Trainer(Person):
    def __init__(self, name, height, weight, level)
        super().__init__(name, height, weight)
        self.level = level

    def judgeBmi(my_bmi):
        if (18.5 < my_bmi) and (my_bmi < 25):
            print("ok")
        else:
            print("not ok")
タグ

管理人/副管理人のみ編集できます