[print()を使用してクラスのインスタンスを出力する方法は?]

PYTHON3 チュートリアル

Pythonのprint()関数を使用してクラスのインスタンスを出力する方法

Pythonでは、print()関数を使用してクラスのインスタンスを出力することができます。クラスのインスタンスをprint()関数に渡すと、そのインスタンスの文字列表現が表示されます。クラスで\_\_str\_\_メソッドを定義していない場合は、デフォルトの文字列表現が表示されます。

サンプルコード1: \_\_str\_\_メソッドを使用した場合

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def __str__(self):
return f"{self.brand} {self.model}"
car1 = Car("Toyota", "Corolla")
print(car1)
class Car: def __init__(self, brand, model): self.brand = brand self.model = model def __str__(self): return f"{self.brand} {self.model}" car1 = Car("Toyota", "Corolla") print(car1)
class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model

    def __str__(self):
        return f"{self.brand} {self.model}"

car1 = Car("Toyota", "Corolla")
print(car1)

上記のコードでは、Carクラスで\_\_str\_\_メソッドを定義しています。このメソッドはクラスのインスタンスを文字列に変換するために使用されます。print()関数でcar1インスタンスを出力すると、「Toyota Corolla」と表示されます。

サンプルコード2: デフォルトの文字列表現を使用した場合

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Book:
def __init__(self, title, author):
self.title = title
self.author = author
book1 = Book("Python Programming", "Guido van Rossum")
print(book1)
class Book: def __init__(self, title, author): self.title = title self.author = author book1 = Book("Python Programming", "Guido van Rossum") print(book1)
class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

book1 = Book("Python Programming", "Guido van Rossum")
print(book1)

上記のコードでは、Bookクラスで\_\_str\_\_メソッドを定義していないため、デフォルトの文字列表現が使用されます。print()関数でbook1インスタンスを出力すると、「<__main__.Book object at 0x7f8d0f4bf3a0>」のような表示がされます。

サンプルコード3: インスタンス変数を直接出力する場合

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person1 = Person("Alice", 30)
print(person1.name, person1.age)
class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30) print(person1.name, person1.age)
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("Alice", 30)
print(person1.name, person1.age)

こちらのコードでは、インスタンス変数を直接print()関数で出力しています。インスタンス変数の値がそのまま表示されます。「Alice 30」という結果が表示されます。

print()関数を使用してクラスのインスタンスを出力するには、そのクラスに\_\_str\_\_()メソッドを実装する必要があります。このメソッドは、クラスのインスタンスを文字列に変換するために使用されます。例えば、以下のようにクラスを定義し、\_\_str\_\_()メソッドを追加することで、print()関数でインスタンスを出力することができます。

“`python
class MyClass:
def __init__(self, value):
self.value = value

def __str__(self):
return f”MyClass instance with value: {self.value}”

instance = MyClass(42)
print(instance)
“`

上記の例では、MyClassクラスに\_\_str\_\_()メソッドが実装されており、インスタンスを文字列に変換する際に”MyClass instance with value: {self.value}”という形式で出力されます。print()関数を使用することで、この文字列がコンソールに表示されます。

購読
通知


0 Comments
Inline Feedbacks
View all comments