python

python

python入門~関数とメソッドの違い | 独学プログラミング

こちらの記事では前回の記事で紹介した関数と新しく紹介するメソッドの違いを紹介します。

メソッドの説明

メソッドとは、関数と同様に命令を与えて処理する手法の一つですが、記述方法が異なります。

関数の場合はprint関数のように、単独で実行する方法でしたが、メソッドは目的語+述語の形式で記述します。

以下例では文字列の内容を置き換えるreplaceメソッドを例に説明します。

# 置き換え用の文字列が入った変数を準備
box = "TEST Hello TEST End."

# replaceメソッド。1つ目の引数を2つ目の引数に置き換える
replace_box = box.replace("TEST", "CHANGE")

# 実行結果:CHANGE Hello CHANGE End.
print(replace_box)

変数に入っている値を入れ替えて保管する処理を実行しています。

メソッドの使い方は対象(目的語)と処理(述語)を.(ピリオド)で繋ぐ形で利用します。

引数や戻り値の考え方は関数と同様です。

単独で利用できるのが関数、対象に対して利用するのがメソッドってことね

メソッドは呼び出せる型が決まっている

もう1つ関数と比べて注意する点として、メソッドは対象(目的語)の型によって使えるメソッドが決まっています。

replaceメソッドのマニュアルを見ると「str.replace」とあります。

strはstring(文字列)の意味で、つまり文字列にしか利用できないメソッドとなります。

では数値に対して実行するとどうなるのか試してみます。

# 置き換え用の文字列が入った変数を準備
box = 123456789

# replaceメソッド。1つ目の引数を2つ目の引数に置き換える
replace_box = box.replace("1", "0")

# 実行結果:AttributeError: 'int' object has no attribute 'replace'
print(replace_box)

このようにエラーが出て終了します。エラーの内容はreplaceはint(数値)には利用できません、という意味です。
※replaceの引数を数字にすると、replaceメソッドの引数エラーで終了します

今まで紹介した文字列と数値以外にも配列や日付など様々な型が存在します。

メソッドを利用するには対象の型を把握しておくことが重要です

python入門~関数とメソッドの違い まとめ

関数とメソッドの違いについてのまとめは以下の通りです。

  • 引数や戻り値の考え方は関数と同様
  • 関数は単独で利用できる、メソッドは対象に対して利用する
  • メソッドを利用する際にはピリオドで接続して利用する
  • 対象の型によって利用できるメソッドが決まっている

関数とメソッドの違いをしっかり把握して、効率のよいプログラミングを目指しましょう。

次の記事では、コーディングを行う上では欠かせない配列の仕組みについて学んでいきます。

python入門~配列listの使い方と概念

補足~本ページQ&A

処理を行いたい関数やメソッドの調べ方

実行したい処理が関数やメソッドがあるか調べるにはどうしたらいいかな?
手っ取り早いのはWeb検索で見つけてくる方法です
例えばreplaceだと「python 文字列 置き換え」などで検索すると1ページ目にヒットします

自分のコードとして利用する際には必ず公式マニュアルを読みましょう

他にも公式マニュアルから辿る方法もあります。少し事前知識がないと読み解きづらいですが、正確な情報を知る上ではかかせません。

関数やメソッドの使い方を調べる

公式マニュアルから調べてみたけど、書いている内容が意味不明すぎて分からないよ。。
専門用語も多いため、特に初心者にはツライですよね

Web検索の他にQiitaで「python replace」で利用方法を調べたりgithubで検索して実際の利用方法を確認するやり方もあります

ただ後者はもう少し学んで他の人のコードを読みとけるようになってからをおススメします

-python
-

Copyright© ビギナープログラミング , 2020 All Rights Reserved.