Pythonの基本メソッドと関数は、何が違うのか。そもそも何で呼び分けるのか。メソッドの実体も同じく関数なので、このような疑問を抱くのは当然です。メソッドとは「クラス内で定義された関数」や「オブジェクトの属性として参照される関数」などと説明されますが、クラスを学んでいない段階でこの説明を聞いてもピンときません。一般的なPythonの参考書では、リストのappend()メソッドなどは、クラスのページのずっと前に登場します。関数とメソッドの違いは、クラスを学んでからでないと理解できないのでしょうか。いいえ、「使い方」に着目すれば、簡単に区別できます。今回はオブジェクト指向プログラミング(OOP)の概念に触れないで、「関数とメソッドの違い」をわかりやすく説明します。呼び出し方の違いに着目する使い方、つまり呼び出し方の違いに着目すると、関数とメソッドは以下のように区別されます。Pythonの組み込み関数のprint()、len()などは単独で呼び出せる「関数」です。"three"])3一方、リストに要素を追加するappend()や文字列を繋ぐjoin()は変数や値に付けて呼び出す「メソッド」です。以下のように変数や値の後にドット(.)を付けて呼び出します。"+".join(num_list)'one+two+three'メソッドの種類はデータ型で異なる上の例のappend()とjoin()は、それぞれリスト型と文字列型に準備されているメソッドです。メソッドはデータ型に紐付いた関数なので、このように呼び出せる種類はデータ型で異なります。以下の表からappend()メソッドは、リスト型の変数については使えますが、辞書型からは呼び出せません。pop()のように両方で使えるメソッドもあります。get()、pop()、update()、items()紛らわしいケースモジュールの関数もドット(.)を付けて呼び出します。メソッドと混同しやすいので気をつけてください。以下のgetcwd()は、osモジュールの関数です。os.getcwd()'/Users/ichiro'getcwd()のドットの前のosはモジュール名ですが、メソッドの場合はドットの前が変数や値になります(つまり、データ型を有するもの)。最後にメソッドと関数は「そもそも何で呼び分ける必要があるのか」と疑問に感じると思いますが、今回説明したように使い方(呼び出し方)が違うので、明確に区別しておきます。プログラミング言語はプログラムを作成するための「道具」です。道具には必ず使い方があります。概念がよく理解できない時は、使い方からアプローチすると分かりやすくなります。UnlimitedでPythonを学習する3つのコツ仕事自動化におすすめの本Pythonの初歩からステップを踏みながら仕事自動化のプログラミングを学べます。弊社の中嶋が執筆しました。手書きのためのコード用ノート手書きでコーティングするためのノートをアマゾンで販売しています。ガンマソフト株式会社ガンマソフトについてお問い合わせ利用規約プライバシーポリシ。