以下のように、辞書型変数に代入する処理は理解できますか?
python
1>>> x = {}
2>>> x['r'] = 3.0
3>>> x['l'] = -4.5
4>>> x
5{'r': 3.0, 'l': -4.5}
更に、関数を定義して値を代入する処理は理解できますか?
py
1>>> def init(self, realpart, imagpart):
2... self['r'] = realpart
3... self['l'] = imagpart
4...
5>>> x = {}
6>>> init(x, 3.0, -4.5)
7>>> x
8{'r': 3.0, 'l': -4.5}
クラスを定義してインスタンス生成すると、ドットと名前で値を代入できるようになります。
py
1>>> class Complex:
2... pass
3...
4>>> x = Complex()
5>>> x.r = 3.0
6>>> x.l = -4.5
7>>> vars(x)
8{'r': 3.0, 'l': -4.5}
関数で代入することもできます。
python
1>>> class Complex:
2... pass
3...
4>>> def init(self, realpart, imagpart):
5... self.r = realpart
6... self.l = imagpart
7...
8>>> x = Complex()
9>>> init(x, 3.0, -4.5)
10>>> vars(x)
11{'r': 3.0, 'l': -4.5}
init関数をクラスの中に書くこともできて、クラス名.関数名で呼び出すことができます。
python
1>>> class Complex:
2... def init(self, realpart, imagpart):
3... self.r = realpart
4... self.l = imagpart
5...
6>>> x = Complex()
7>>> Complex.init(x, 3.0, -4.5)
8>>> vars(x)
9{'r': 3.0, 'l': -4.5}
init関数を __init__
という初期化メソッドにすることで、インスタンス生成と同時に代入できるようになります。self引数にはインスタンスが自動的に渡されます。
py
1>>> class Complex:
2... def __init__(self, realpart, imagpart):
3... self.r = realpart
4... self.l = imagpart
5...
6>>> x = Complex(3.0, -4.5)
7>>> vars(x)
8{'r': 3.0, 'l': -4.5}
処理順序を図にしてみました。
]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/07 23:10
2020/05/08 00:30
2020/05/08 08:49
2020/05/08 11:35 編集
2020/05/08 10:44
2020/05/08 11:16