|
Python中級プログラミング(5)
2025/03/02 |
| [Prev] [Next] [Top] , Python [Prev] [Next] , [Python Top] |
オブジェクト指向とかテンプレート等の言葉は一度忘れましょう
あるタイプのデータでやりたいことは大体同じ
クラス:データと関数を名前空間(name space)でまとめたもの
__init__(self, ...)メソッドでデータとクラス名を紐づけ
#===========================================================
class Sample:
# __init__()メソッドは、クラスのインスタンス定義時に実行される(一般にコンストラクタと呼ばれる)
def __init__(self): # クラスのメソッド第1引数はself
self.data = {} # 空の辞書データをself.dataに割当(初期化)
self.data['val'] = None # キー'val'にも空データ(None)設定(初期化)
# データ取得メソッド
def get_data(self):
return self.data['val']
# データ設定メソッド
def set_data(self, val=None): # val=Noneはデフォルト引数
self.data['val'] = val;
return self.data['val']
#===========================================================
ins0 = Sample() # Sampleクラスのインスタンスins0定義
ins1 = Sample() # Sampleクラスのインスタンスins1定義
print("ins0: set_data:", ins0.set_data('abc')) # ins0のデータに'abc'設定
print("ins1: set_data:", ins1.set_data()) # ins1のデータは未定義(None)とする
print("ins0: get_data:", ins0.get_data()) # インスタンス名.メソッド()
print("ins1: get_data:", ins1.get_data()) # インスタンス名.メソッド()
print("ins0: get_data:", Sample.get_data(ins0)) # クラス名.メソッド(インスタンス名)
print("ins1: get_data:", Sample.get_data(ins1)) # クラス名.メソッド(インスタンス名)
>test.py ins0: set_data: abc # ins0に'abc'を設定 ins1: set_data: None # ins1は未定義 ins0: get_data: abc # ins0.get_data()で値取得 ins1: get_data: None # ins1.get_data()で値取得 ins0: get_data: abc # Sample.get_data(ins0)で値取得 ins1: get_data: None # Sample.get_data(ins1)で値取得
今回Pythonとして特別な話はありませんでした
|
| Notes |
|
Copyright(C) 2025 Altmo
本HPについて |
| [Prev] [Next] [Top] , Python [Prev] [Next] , [Python Top] |