ここでは関数とメソッドの違いについて説明します。pythonのドキュメントやWebで調べ物をする際に関数とメソッドの違いを理解していないと誤った理解をしたり、理解できなかったりします。関数とメソッドの違いを理解してpythonに関するドキュメントや解説を正しく読めるようになってください。
関数とは
関数とはクラスのインスタンスから独立して呼び出すことができる処理のことです。例えばprint関数はクラスをインスタンス化しなくても利用することができます。あるいはパッケージをインポートしてしまえばクラスに関係なく使えるものもあります。このような処理のことを関数といいます。printf関数のようにimportも何もせずに最初から使える関数(いつでも使える関数)を組み込み関数(build in function)といいます。例えばprint関数は以下のように使うことができます。
print("printは関数です。")
実行結果
printは関数です。
組み込み関数にどのうなものがあるかについてはPythonのドキュメントである「組み込み関数」をみてください。
メソッドとは
クラス内で定義された処理をメソッドと呼びます。例えばformatメソッドは文字列クラスのメソッドの一つで以下のように文字列インスタンスの後につなげて使います(mail_tmpという文字列のインスタンスの後にドットでつなげて呼び出します)。
mail_tmp="""{} {}様
お世話になっております。{}、{}です。
先日はお忙しいところお時間をいただきありがとうございました。
今後ともよろしくお願いいたします。
"""
mail_str=mail_tmp.format('ABC株式会社','佐藤','〇〇商会','鈴木')
print(mail_str)
実行結果
ABC株式会社 佐藤様 お世話になっております。〇〇商会、鈴木です。 先日はお忙しいところお時間をいただきありがとうございました。 今後ともよろしくお願いいたします。
関数とメソッドの違い
クラスとは関係ないところで単独で呼び出すことができるかどうかが違いです。関数は単独で呼び出すことができます。一方メソッドはオブジェクトの後にドットをつなげてよびだします。両方ともdefで定義するため分かりにくいですが処理がクラスの中にあるか外にあるかで考えるとわかりやすいとおもいます。
まとめ
今回は関数とメソッドについて説明しました。関数やメソッドの使い分けを理解していないとドキュメントを正しく理解できません。きちんと理解して正しくドキュメントを読めるようになってください。
この記事へのコメント
コメントはまだありません。
コメントを送る