🐑
特殊メソッド__X__について
今回はpyhtonの特殊メソッドについて解説します。
pyhtonの特殊メソッドとは __ と __ によって囲まれている関数を指します。
str()やlen()のように普段から使っていることが多いと思います。
これはpythonの基本的な動作を提供しますが、クラス内部でオーバーライド(再定義)することで、class内の要素に対してstrやlenなど、元々存在するメソッドを変更することもできます。
class MyClass:
def __init__(self, data):
self.data = data
def __str__(self):
return f"MyClass instance with data: {self.data}"
def __len__(self):
return len(self.data)+1
instance = MyClass([1, 2, 3, 4, 5])
print(str(instance))
print(len(instance))
# 出力
'MyClass instance with data: [1, 2, 3, 4, 5]'
6
このように、strやlenの動作を変更することができます。便利ですが、普段使用している組み込み関数の動作を変更するため、注意して使用しましょう。
それでは今回はここまでです。読んでいただきありがとうございました!
Discussion