Python 関数とメソッド

皆さんこんにちはALEXです。今回は関数とメソッドについて解説します。関数とメソッドは混同しやすく戸惑ってしまう方も多いと思います。違いを理解して、それぞれ適した使い方を学びましょう。

関数

基本的な関数のコードを記します。

defで関数を定義します。first_functionが関数の名前、()内に引数を定義します。そのあと「:」コロンを必ずつけてください。 改行後、配下の行は必ず院展度してください。最近のエディタは賢くできていて、関数の定義が正しければ自動的にインテンドしてくれます。関数設定後、関数名を入力、エンターで関数が実行されます。

 

引数

引数は使い方を覚えると、とても役立つものです。基本例では引数を省略しましたが、次の例文で引数を使ってみましょう。円の半径から面積を割り出す計算をやってみます。 s=π*r^2 s:面積(cm) r:半径(cm)ですね。

計算に円周率を簡単に読み出すことができます。numpyモジュールをインポートします。(1行目) numpyのインストール法はこちらを参照してください。 numpy1 導入編(インストールから簡単な配列計算) 次に関数を定義します。circle_areaを関数としてかっこの中に引数”rad”を入力します。:を入力したら改行してインテンドし、print()分の中に計算式を入力します。 この場合r=2(cm)として引数に2を入れて実行してください。

と表示されました。 引数は複数指定することが可能です。  

関数とメソッド

Pythonには関数とメソッドが定義されています。プログラミング初学者の方は戸惑ってしまいやすいポイントでもあるかと思います。いったいどっちが関数で、どっちがメソッドなんだろう。 関数:defで定義されたもの メソッド:クラス内にdefで定義されたもの なんです。メソッドは正しく言うとクラスがインスタンス化された後のものがメソッドです。 先ほど記述した関数をクラスで記述します。インスタンス化してcircle_area(self)メソッドを実行します。

すると同じ演算結果が出力されました。

と表示されました。  

まとめ

関数とメソッドについてご紹介しました。クラスについては、以下の記事を参考にしてください。 基礎講座3 クラス