Python プログラミング

メソッドとは?【Python超初心者用に解説】

メソッドというのは関数に似ているのですが、プログラミング超初心者がちょっと混乱しやすい概念です。

簡単に言うと「クラスに属する関数のようなもの」といったところでしょうか。

メソッドの意味を調べても、クラスオブジェクトについて理解していないと何を言っているのか分からない説明が多く、しかもクラスやオブジェクトは理解が難しいので、メソッドの解説より後になっていたり、そもそもクラスやオブジェクトに詳しく触れていない入門書もあります。

つまりクラスやオブジェクトの解説がされていないのに、メソッドという概念が割と早く登場するので、よくわからないという状態になるのだと思います。

最初はあまり概念的なことをしっかり理解しようとせず、どんな感じで使うのかを見ていった方が理解は早いと思います。

Python初心者はまずメソッドの使い方を覚えよう

メソッドはある値(オブジェクト)に関連つけられた関数という言い方もできます。つまり関数の一種と思ってもいいのですが、使い方(呼び出し方)が通常の関数とは異なります。

通常の関数が、単独で呼び出すことができるのに対して、メソッドは変数や値にくっつけて呼び出します。リストに値を追加するappend()メソッドを例に使い方を見ていきましょう。

animalsという変数に[‘dog’, ‘cat’]というリストを代入します。

このanimalsに新しく’mouse’という値を追加したい場合、animals.append(‘mouse’)と書きます。

animals = animals.append(‘mouse’)ではないことに注意してください。

【Python】その他のメソッド

いろいろなメソッドの使い方を学習することで、メソッドがどういうものか分かってくると思います。

メソッドが「クラスに属する・・・」とか意識せずに使える組み込みのメソッドがありますので、それらの使い方を見ていきましょう。

ここで紹介するのは一例です。いろいろと調べて、自分で対話シェルに入力して試してみましょう。

remove()

append()の反対に値をリストから削除します。リストに無い値を渡すとエラー(例外)になりますので注意してください。

尚、リストに同じ値がいくつもある場合は最初の値のみ削除されます。

insert()

append()は値をリストの最後に追加しますが、insert()はインデックスで位置を指定して値を挿入します。第1引数をインデックス(最初が0で始まるリストの順番)、第2引数に挿入する値を入れます。

index()

リストから指定した値のインデックスを探してくれます。リストの中に同じ値が複数ある場合は最初に見つかった値のインデックスを返します。リストの中に値が見つからなければエラー(例外)になります。

upper() lower()

upper()は文字列を大文字に、lower()は文字列を小文字に変換するメソッドです。使い方は文字列に直接続けるだけでシンプルです。

capitalize()

文字列の最初を大文字に、それ以外を小文字に変換します。使い方はupper()等と同じです。

sort()

リストの要素を昇順、または降順に並び替えをします。降順にする場合はメソッドの引数にreverse=Trueを指定します。数字と文字列が混ざったリストの場合は順番を決められないのでエラーになります。

数値の場合

文字列の場合

まとめ

ここで紹介したメソッドをがんばって覚えようとしないで大丈夫です。ググればいろいろなメソッドが出てきますので、その都度調べながら試してみましょう。

メソッドについて深く理解しようとすると、「クラス」とか、「オブジェクト指向」といった初心者には難しい概念を理解しなければなりません。

最初の内はメソッドがどういう動きをするのか、どうやって使うのかをなんとなく知るために、いろいろと試してみることが一番大事だと思います。

徐々に分かってきますので心配はいりません。頑張っていきましょう。

-Python, プログラミング