今更、Python 初心者向けのこと。
*変数、**変数、渡し
→ 可変長タプル渡し
→ 辞書渡し
__eq__ → == 演算子実行時の処理、is では効かない
__str__ → print や、%s の出力で実行される処理
class Foo(): name = 'foo' def __init__(self, *args): if len(args) > 0: self.name = args[0] def getName(self): return self.name def __eq__(self, other): return self.name==other.name def __str__(self): return 'Foo is {}'.format(self.name) foo1 = Foo() foo2 = Foo('a') print(foo1==foo2)
class Foo(): item = {} def __init__(self, **kargs): self.item = kargs def getName(self): return self.item def __eq__(self, other): return self.item==other.item def __str__(self): return 'Foo is {}'.format(self.item) foo1 = Foo(a=1) foo2 = Foo(a=1) print(foo1==foo2)