進捗
2/28 p.284~p.286 17:30~20:00
特殊メソッドの学習をしていたがサンプルコードが見たかったのでこのサイトを参考にした。以下自分なりのまとめ
class Iaddition:
def __init__(self,value):
self.value = value
def __iadd__(self,other):
self.value += other
return self #return self.value += otherはできない。+=の式では無効
#self.value += other.valueと書いてインスタンスでi += 3と書くとエラー
"""
i = Iaddition(3)
i += 3 #i.value += 3だとこの場でアトリビュートを動かしているだけメソッドは動いてない。
i.value
"""
#6と表示される
class Iaddition2:
def __init__(self,value):
self.value = value
def __iadd__(self,other):
self.value += other
return self.value
"""
i2 = Iaddition(4)
i2 += 3
i2 #return self.valueにすると返される結果がint型になる。i2のインスタンス自体が数値。
#i2.valueにするとインスタンスではないint型にvalueアトリビュートはつかない。二重
"""
#7と表示される