コンテンツにスキップ

Python __str__メソッドの使い方を解説

[

Pythonの__str__()メソッドの使い方とタイミング

Pythonプログラミングでオブジェクトを文字列に変換する方法とタイミングについて学びましょう。str()メソッドによるPythonicなオブジェクトの文字列変換方法を解説します。また、str()メソッドの意味と使い方も学びます。

Pythonクラスの作成

まず、以下の例を使って説明していきます。Carというクラスを作成し、そのインスタンスを文字列に変換するにはどうすれば良いかを見ていきます。

class Car:
def __init__(self, color, mileage):
self.color = color
self.mileage = mileage
def __str__(self):
return f'a {self.color} car'

str()メソッドは、Carオブジェクトを文字列に変換するために定義されています。

str()メソッドの意味

str()メソッドは、オブジェクトを人間が分かりやすい形式の文字列に変換するためのメソッドです。例えば、Carオブジェクトを文字列として表示する際に、色という情報を含めることができます。

str()メソッドの使い方

次に、実際にオブジェクトを文字列に変換する方法を見ていきましょう。

my_car = Car('red', 10000)
print(my_car)

上記のコードを実行すると、a red carという出力が得られます。オブジェクトをprint()関数で表示すると、str()メソッドが呼び出されて返り値が表示されます。

str()メソッドを定義することで、オブジェクトを文字列として正確に表現することができます。これはPythonicな方法であり、Pythonのベストプラクティスとなっています。

built-inのstr()関数の使用方法

オブジェクトを文字列に変換したい場合、組み込み関数のstr()を使用することもできます。str()関数は内部的に__str__()メソッドを呼び出し、正しい結果を返します。

my_car = Car('red', 10000)
result = str(my_car)
print(result)

結果は先ほどと同じくa red carとなります。

参考:repr()メソッドとの違い

repr()メソッドは__str__()と似ていますが、主な違いはデバッグ用途に使われることです。repr()メソッドでは、詳細なオブジェクト情報を含めることができます。

この記事では詳細なコードの解説と、Pythonの__str__()メソッドの使い方とタイミングについて学びました。オブジェクトを文字列に変換する際には、str()メソッドを使うことで適切な表現ができることがわかりました。Pythonプログラミングのさらなるスキルアップに役立ててください。