0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】Pythonで学ぶ属性とメソッドの違い

Last updated at Posted at 2025-10-23

Pythonで学ぶ属性とメソッドの違い

Pythonを学び始めると、クラスの中でよく出てくる「属性」と「メソッド」という言葉に出会います。最初は似たように見えますが、実際には大きな違いがあります。この記事では、例を交えながら分かりやすく解説します。

属性(Attribute)とは?

属性は、オブジェクトが持つ「データ(値)」のことです。
クラスの中で定義された変数や、インスタンスごとに異なる値を持つものを指します。

class Dog:
    def __init__(self, name, age):
        self.name = name  # これが属性
        self.age = age    # これも属性

my_dog = Dog("Pochi", 3)

print(my_dog.name)  # => Pochi
print(my_dog.age)   # => 3

上の例では、nameage が属性です。
つまり、属性 = オブジェクトが持つ情報です。

メソッド(Method)とは?

メソッドは、オブジェクトが「できること」や「振る舞い」を定義した関数のことです。
属性が「データ」だとすると、メソッドは「動作」です。

class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        print(f"{self.name}がワン!と吠えました。")

my_dog = Dog("Hachi")
my_dog.bark()  # => Hachiがワン!と吠えました。

ここで bark() がメソッドです。
つまり、メソッド = オブジェクトが持つ機能です。


属性とメソッドの違いをまとめると

比較項目 属性 メソッド
意味 データ・情報 振る舞い・機能
定義場所 クラス内の変数 クラス内の関数
呼び出し方 obj.name obj.method()
変更の仕方 obj.name = 'new' メソッド内で動作

まとめ

  • 属性は「オブジェクトが何を持っているか」
  • メソッドは「オブジェクトが何をできるか」

これを押さえておくと、クラス設計やオブジェクト指向プログラミングの理解がぐっと深まります。

補足

  • 組み込み関数 dir(obj) を使うと、そのオブジェクトが持つ属性やメソッドを一覧で確認できます。
print(dir(my_dog))

タグ: #python #初心者 #オブジェクト指向

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?