投稿

[Python 100日チャレンジ] Day 39 - 特殊メソッド

Pythonの__str__、__repr__などの特殊メソッドを使い、クラスをPythonらしく扱う方法を学びます。

[Python 100日チャレンジ] Day 39 - 特殊メソッド

特殊メソッドとは

__str__ や __repr__ のように、前後にアンダースコアが2つ付くメソッドを特殊メソッドと呼びます。

1
2
3
4
5
6
7
8
9
class Book:
    def __init__(self, title):
        self.title = title

    def __str__(self):
        return self.title

book = Book("Python入門")
print(book)

よく使う特殊メソッド

  • __str__: 人が読む表示
  • __repr__: 開発者向けの表現
  • __len__: len() の動作
  • __eq__: == の比較

今日のゴール

特殊メソッドを使うと、自作クラスをPython標準の操作に自然に合わせられます。まずは __str__ と __repr__ から試しましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。