← クエスト一覧

クエスト53:dataclassを使おう

スライド 1 / 6
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 53 / 85

クエスト53:dataclassを使おう

発展 +10 XP
🏠
今回の課題
@dataclass を付けて Point クラスを作り、Point(3, 4)print して「Point(x=3, y=4)」と表示しよう。
📖 解説を見る
🏗️ dataclass って何?

@dataclass を付けると、__init__(初期化)や __repr__(表示)を自動で作ってくれます。データを持つだけのクラスを、とても短く書けます。

✏️ 書き方:
from dataclasses import dataclass

@dataclass
class User:
    name: str
    age: int

u = User('たろう', 12)
print(u)
 → User(name='たろう', age=12)
クラス定義の真上の行@dataclass を書き、フィールドは 名前: 型 を並べるだけです。

📋 作るもの:
Point クラスを作り、@dataclass を付ける
xy の2つのフィールドを持たせる(型は int
Point(3, 4)print すると Point(x=3, y=4) と出る(__init__ も表示も自動)

💡 どこで使う?

設定・レコード・座標など「値を入れておくだけ」のクラスを作るときに使います。ふつうなら __init__self.x = x …と書く定型を丸ごと省けるので、コードが短く読みやすくなります。

⚠️ ポイント:
x: int のように「フィールド名: 型」を並べるだけ
__init__ と見やすい print 表示が自動で付く
ヒントを見る
データを持つだけのクラスは、定義の1つ上の行に @dataclass を付けると __init__ や表示が自動で作られるよ。フィールドは「名前: 型」を並べるだけ。
期待する出力
Point(x=3, y=4)
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: dataclass で Student(name, score) を作り Student('たろう', 90) を print しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
Student(name='たろう', score=90)
未挑戦

問題 2: dataclass で Color(r, g, b) を作り Color(255, 0, 128) の r を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
255
未挑戦

問題 3: dataclass で Item(name, price, quantity) を作り小計(price * quantity)を表示しよう!(りんご 100円×3個)

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
300
コピーしました!