
Pythonの属性とメソッドについて
Pythonにおいて、オブジェクトと呼ばれるものには属性とメソッドがあります。属性とはオブジェクトが持つ値や状態を表し、メソッドとはオブジェクトが持つ操作を表します。
属性とは何か
1 2 3 4 5 6 7 | class Person: def __init__( self , name, age): self .name = name self .age = age person1 = Person( "Alice" , 25 ) print (person1.name) # "Alice"を出力 print (person1.age) # 25を出力 |
上記の例では、Personというクラスを定義し、そのクラスからperson1というインスタンスを生成しています。person1は、nameとageという2つの属性を持っています。それぞれの属性は、インスタンス変数として定義され、値が代入されています。属性には、インスタンス変数の他に、クラス変数や特殊メソッドによって定義される場合もあります。
Pythonにおいて、属性とはオブジェクトが持つ値や状態を表します。例えば、以下のようなコードを考えてみましょう。
メソッドとは何か
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Calculator: def __init__( self ): self .result = 0 def add( self , num): self .result + = num def subtract( self , num): self .result - = num calculator1 = Calculator() calculator1.add( 3 ) calculator1.subtract( 1 ) print (calculator1.result) # 2を出力 |
上記の例では、Calculatorというクラスを定義し、そのクラスからcalculator1というインスタンスを生成しています。calculator1は、addとsubtractという2つのメソッドを持っています。それぞれのメソッドは、オブジェクトの状態を変更する操作を行っています。
Pythonにおいて、メソッドとはオブジェクトが持つ操作を表します。例えば、以下のようなコードを考えてみましょう。
Pythonにおける属性の調べ方
1 2 3 4 5 6 | class Person: def __init__( self , name, age): self .name = name self .age = age person1 = Person( "Alice" , 25 ) print ( dir (person1)) |
上記の例では、Personというクラスを定義し、そのクラスからperson1というインスタンスを生成しています。dir関数によって、person1が持つ属性のリストを取得し、それをprint関数で出力しています。
Pythonにおいて、オブジェクトが持つ属性を調べるには、dir関数を使います。例えば、以下のようなコードを考えてみましょう。
Pythonにおけるメソッドの調べ方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Calculator: def __init__( self ): self .result = 0 def add( self , num): self .result + = num def subtract( self , num): self .result - = num calculator1 = Calculator() print ( dir (calculator1)) calculator1.add( 3 ) calculator1.subtract( 1 ) print (calculator1.result) # 2を出力 |
上記の例では、Calculatorというクラスを定義し、そのクラスからcalculator1というインスタンスを生成しています。dir関数によって、calculator1が持つメソッドのリストを取得し、それをprint関数で出力しています。また、addメソッドとsubtractメソッドを呼び出して、オブジェクトの状態を変更しています。
Pythonにおいて、オブジェクトが持つメソッドを調べるには、dir関数を使います。ただし、dir関数によって取得できるメソッドには、特殊メソッドも含まれるため、単純に取得したメソッド名を呼び出すことはできません。例えば、以下のようなコードを考えてみましょう。
属性とメソッドの違いとは
1 2 3 4 5 6 7 8 9 | class Person: def __init__( self , name, age): self .name = name self .age = age def greet( self ): print ( "Hello, my name is " + self .name) person1 = Person( "Alice" , 25 ) person1.greet() # "Hello, my name is Alice"を出力 |
上記の例では、Personというクラスを定義し、そのクラスからperson1というインスタンスを生成しています。person1は、nameとageという2つの属性を持っています。また、Personクラスには、greetというメソッドが定義されており、person1はこのメソッドを持っています。greetメソッドは、自己紹介をするためのメソッドであり、オブジェクトの状態を変更するわけではありません。
属性とメソッドの違いは、オブジェクトが持つものの種類にあります。属性はオブジェクトが持つ値や状態を表し、メソッドはオブジェクトが持つ操作を表します。例えば、以下のようなコードを考えてみましょう。
まとめ
Pythonにおいて、オブジェクトには属性とメソッドがあります。属性はオブジェクトが持つ値や状態を表し、メソッドはオブジェクトが持つ操作を表します。属性やメソッドを調べるには、dir関数を使います。属性とメソッドの違いは、オブジェクトが持つものの種類にあります。属性はオブジェクトが持つ値や状態を表し、メソッドはオブジェクトが持つ操作を表します。