← トップ
12 / 20

12. メソッド(method)

CONCEPT

メソッドメソッド — オブジェクトの動作は「オブジェクトが持つ動作」のことです。たとえば「ショッピングカートカート — 買い物かご」に「商品を追加する」「合計を計算する」という動作を持たせることができます。

📍 使い道: 商品オブジェクトに「割引計算」メソッドを追加
COMMON MISTAKES — よくある間違い
メソッド呼び出しで . を忘れるlen(list) は関数ですが、list.append(1) はメソッド。メソッドは「オブジェクト.メソッド()」です。
文字列メソッドが元を変えないと勘違いする"hello".upper() は "HELLO" を返しますが、元の文字列は変わりません。結果を代入する必要があります。
コードを1行ずつ実行してみよう
example.pyPython
1cart = ShoppingCart()# 空のショッピングカートを作成(items=[])
2cart.add_item("ノート", 300)# カートに「ノート300円」を追加
3cart.add_item("ペン", 150)# カートに「ペン150円」を追加
4print(cart.total())# cart.total() を実行 → 450 (300+150) を表示
« 次の行 » ボタンを押して実行を開始
VARIABLES
実行すると変数の状態が表示されます
メソッドは「クラスの中で定義した関数」です。 オブジェクト.メソッド名() とドットで繋いで呼び出します。 car.run() なら「車オブジェクトに走れと命令する」イメージです。
📚 読み方ガイド
コード読み方
def add_item(self, name, price):「商品を追加」という動作を定義
self.items.append(...)自分(カート)の商品リストに追加
cart.add_item("ノート", 300)cart というカートにノート300円を追加する命令
cart.total()カート内の合計金額を計算する
KEY POINT

def は関数(メソッドメソッド — オブジェクトの動作)を定義するキーワード。第1引数の self は「自分自身」を指す。cartカート — 買い物かご.add_item("ノート", 300) は「cartというカート」に「ノート300円」を追加する命令。

確認問題
1agent.ask("天気は?") を実行すると何が起きるか
class AIAgent: def __init__(self, name): self.name = name self.history = [] def ask(self, question): self.history.append(question) return f"{self.name}: {question}の回答です" agent = AIAgent("bot") result = agent.ask("天気は?")
self.history に "天気は?" が追加され、result には "bot: 天気は?の回答です" が返ります。history リストに質問が記録されます。
2何が表示されるか答えてください
class Counter: def __init__(self): self.count = 0 def increment(self): self.count += 1 def show(self): print(f"現在: {self.count}") c = Counter() c.increment() c.increment() c.increment() c.show()
"現在: 3" が表示されます。count は 0 から始まり、increment() を3回呼び出すので 3 になります。
3self は何のためにあるか説明してください
self は「そのインスタンス自身」を指すためのものです。複数のインスタンスがあっても、self を通じて自分自身のデータにアクセスできます。例: cart1 と cart2 があっても、それぞれの self.items は別々に管理されます。
CHEAT SHEET — まとめ
3行で分かる
  • メソッドは「オブジェクトが持つ動作」のこと
  • ドット(obj.method())で呼び出す
  • 元のデータを変えるものと、新規作成するものがある(要注意)
メソッド