Pythonのオブジェクトとは

 

Pythonに限らず、プログラミングの学習を始めたばかりの方は、オブジェクトと聞いても、何を指すのか直感的には分かりづらいと思います。

この辺りは、厳密に理解していなかったとしても、プログラミングの実践上は、それほど障害にはならないと思います。ただし、もちろん正しい知識を持っている方が、上達は早くなるでしょう。

そこで、ここではPythonのオブジェクトとはどういうものなのかを解説したいと思います。

目次

1. Pythonのオブジェクトとは

Pythonの値はすべてオブジェクトです。

「オブジェクト」とは、データ(値)とメソッドをもっているもののことです。オブジェクトは、データは変数で、メソッドは関数で定義されています(詳しくは「Pythonの変数」と「Pythonの関数」をご覧ください)。

通常の関数は、len(“abc”)のように、それを呼び出すと実行することができます。

しかし、オブジェクトでいうメソッドは、どのオブジェクトを対象にしてメソッドを実行するかまで指示しなければ機能することができません。

2. Pythonのオブジェクトのメソッドの基本書式

オブジェクトのメソッドを実行するには、次のように書きます。

In [0]:
オブジェクト.メソッド()

例えば、文字列はstr型のオブジェクトです。これに対して、upper() というメソッドを実行するには、以下のように書きます。なおupper()は、文字列を大文字化するメソッドです。

In [1]:
s = "hello python"
s.upper()
Out[1]:
'HELLO PYTON'

以下のように、文字列を変数に入れずに、直接メソッドを実行することもできます。

In [2]:
"hello python".upper()
Out[2]:
'HELLO PYTON'

upper()は、文字列に対して機能するメソッドです。そのため、以下のように、オブジェクトが数値の場合はエラーが出ます。

In [3]:
s = 1
s.upper
Error:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-11e03767256a> in <module>()
----> 1 s.upper

AttributeError: 'int' object has no attribute 'upper'

3. まとめ

最初にも書きましたが、オブジェクトとは、値とメソッドを持っているもののことです。

プログラミングを始めたばかりの時は、

  • 変数
  • 関数
  • メソッド

などの違いに混乱する場合もあるかもしれません。「Pythonの変数」「Pythonの関数」「Pythonの文字列」などをご覧いただくと次第に分かるようになっていきます。焦らず学習を進めていきましょう。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる