パッケージにクラスを追加する

Pythonで学ぶSoftware Engineeringの原則

Adam Spannbauer

Machine Learning Engineer at Eastman

オブジェクト指向プログラミング

OOP のモジュール化

Pythonで学ぶSoftware Engineeringの原則

クラスの構造

work_dir/my_package/my_class.py で作業

# 属性を持つ最小のクラスを定義
class MyClass:

"""最小の例示クラス :param value: ``attribute`` 属性に設定する値 :ivar attribute: init で渡された ``value`` の内容 """
# 新しい MyClass インスタンスを作成するメソッド def __init__(self, value): # 引数 value の内容で属性を定義 self.attribute = value
Pythonで学ぶSoftware Engineeringの原則

パッケージでクラスを使う

work_dir/my_package/__init__.py で作業

from .my_class import MyClass

work_dir/my_script.py で作業

import my_package

# MyClass のインスタンスを作成
my_instance = my_package.MyClass(value='class attribute value')

# クラス属性の値を出力
print(my_instance.attribute)
'class attribute value'
Pythonで学ぶSoftware Engineeringの原則

self 慣習

work_dir/my_package/my_class.py で作業

# 属性を持つ最小のクラスを定義
class MyClass:
    """最小の例示クラス

    :param value: ``attribute`` 属性に設定する値
    :ivar attribute: init で渡された ``value`` の内容
    """

    # 新しい MyClass インスタンスを作成するメソッド
    def __init__(self, value):
        # 引数 value の内容で属性を定義
        self.attribute = value
my_instance = my_package.MyClass(value='class attribute value')
Pythonで学ぶSoftware Engineeringの原則

練習しましょう

Pythonで学ぶSoftware Engineeringの原則

Preparing Video For Download...