Python 関数・モジュール・クラス・__変数

関数の定義

def 関数名(引数):
    実行する処理
    return 返り値
  • 返り値は「 , 」で複数の値を指定可能
  • 受け取り側も「 , 」で複数の変数を準備しておく( 受け取り側が1つの変数で受け取った場合はタプルになる )

デフォルト引数値

引数が与えられなかった場合に使用されるデフォルト値を設定

def 関数名(変数=値,...):
    処理

モジュールの利用

モジュールを導入( インポート )

import モジュール名

# 別名をつけてインポート
import モジュール名 as 別名

# 関数名だけで利用可能にするインポート(どのモジュールか分からなくなるため乱用禁止)
from モジュール名 import *
# モジュールの関数などを使用する
モジュール名.定数や関数

クラス

クラスの定義

class クラス名():
    メソッドなどの定義
  • クラス名は頭文字を大文字、複数の単語がある場合はそれぞれの頭文字を大文字にするのが慣習
  • 必ず引数を記述(通常、引数をselfと記述)
  • 呼び出しの際は自動で引数に値を与えるため、第一引数は書かなくてOK

メソッドの定義

コンストラクタ( __init__ )

クラスのオブジェクトが生成される際に実行されるメソッド

def __init__(引数):
    処理
  • アンダースコア×2( __ )で始まるメソッドや変数などに特殊な役割を持たせることが多い

クラス型オブジェクト

変数 = クラス名()

クラス変数

クラスの定義でメソッドの外側で宣言

アクセス:クラス型オブジェクトを生成しなくても参照可

クラス名.変数名

インスタンス変数

self.変数名
  • クラスのオブジェクトが生成されるごとにオブジェクト固有で、オブジェクトの中では永続的に使える変数

__変数

外からのアクセスを制限する方法 ( クラス変数、インスタンス変数ともに外から参照、書き換え可能 )

メインプログラムとして実行された場合にのみ実行する

if __name__ == "__main__":
    処理