answer11_1_1.py

class Product:
    """商品を表すクラス。

    属性:
        _id(str):商品ID。
        name(str):商品名。
        price(int):価格。
    """

    def __init__(self, _id, name, price):
        self._id = _id
        self.name = name
        self.price = price

    def __str__(self):
        return f"{self._id} {self.name} {self.price}円"


pouch = Product("A101", "ミニポーチ", 648)
print(pouch)

# 章末問題 11章【1】(1)解答例
#
# idは組み込み関数の名前なので、衝突を避けるために仮引数名を
# (インスタンス変数にも合わせて)_idとしました(10行目)。
#
# メソッド__str__では、返すべき文字列をf文字列で作ります(16行目)。
#
# 2〜8行目にはドキュメント文字列としてこのクラスの説明を書きました。