python コード サンプル

python

【Python】オブジェクトとメソッドについて【初心者向け】

2019年6月6日

こんにちは。


今回は Python の命令系統の一つである メソッド について学習していきます。


python の命令には 関数メソッド の2種類があります。


メソッドの学習には以下の記事の内容を理解していると、より理解が深まります。


四則演算
数値列文字列についてまとめた記事については、以下の記事を参照ください。

STEP 1
python コード サンプル 覚え書き
【Python】数値と文字列について【初心者向け】

続きを見る

変数・論理値・演算子については以下の記事をご参照ください。

STEP 2
python コード サンプル 覚え書き
【Python】変数・論理値・演算子について【初心者向け】

続きを見る

関数の基本については以下の記事をご参照ください。

STEP 3
python コード サンプル
【Python】関数の基本について【初心者向け】

続きを見る


このメソッドを学習するためには、オブジェクト という概念も理解する必要があるので、今回はオブジェクト → メソッド という順番で学習していきます。

 

 本記事の内容

  • オブジェクトを理解する
  • メソッドを理解する
  •  関数とメソッドの違いを理解する


では、早速見ていきましょう。

【Python】オブジェクトとメソッドの理解に有用な無料動画

Python オブジェクト メソッド

七海有里佳のゆる★Python!|オブジェクトとメソッドの回

Youtubeに落ちている無料の動画より、オブジェクトとメソッドの違いについての動画を持ってきました。


「女子高生」という設定のVR系youtuberが解説していますが、「超初心者向け」の方にはアリかもです。


Python習得という目的の為には手段を問わない方針でいこうと思います(笑)

Telsko|Types of methods

英語に抵抗のない方はこちらの視聴もオススメです。


但し、内容として「オブジェクト指向」→「メソッド」の解説になっているので、「オブジェクト指向型プログラミング」にピンとこない方は、現時点ではそれほど無理をしなくても良いかなと思います。


とはいえ、やはり英語の無料動画には質が高いものが多いです。


今後も有用である英語教材はどんどん紹介していきますので、英語が苦手な方もなるべく慣れていく様にしましょう。

オブジェクトとは

python コード サンプル オブジェクト

オブジェクトの具体例

動画を視聴したところで、実際に深掘りして学習していきましょう。


Python では数値列も文字列もデータに属します。これらデータのことを全て “オブジェクト” と言います。


ではオブジェクト = object は日本語訳でどの様な意味を持つのでしょうか。

'object'  は(知覚できる)物、物体、対象、目的、目標、おかしなもの、目的語、客観、客体 という意味を持つ。
>> object とは【weblio】

pythonのコードの羅列を直視すると、object =データ は物体として見る事が出来ません。


プログラミングを行う上では、object = データの実体を見ることができませんが、「データには実体がある」と考えてください。


たとえとして、object を「ヒト」として考えて理解を深めましょう。

オブジェクトの変数 = 属性変数(プロパティ)

ヒトは、身長、体重、年齢、性別、名前という様に各々に" 属性情報 "を持っています。Pythonのオブジェクトも、ヒトと同じ様に属性情報を持っています。


オブジェクトの属性情報のことを プロパティ(property) と言います。例えば、この記事の筆者の私というオブジェクトのプロパティの一つに、名前の’とみー’があります。

オブジェクトの関数 = 振る舞い(メソッド)

'ヒト' = オブジェクトは以下の様な「行動」をします。

  • 思いっきり100m走る
  • 自身で考えた内容を文章化する
  • 時間をかけて学ぶ
  • 食事をとる


この様なオブジェクトの 行動 = 振る舞い のことをメソッド(method)と言います。


pythonのobjectにも同様にmethodがあります。


オブジェクトにはプロパティ(属性)がありメソッド(振る舞い)がある。


と理解してください。

pythonにおける関数とメソッドの違い

python コード サンプル

ここで、Pythonにおける「関数」と「メソッド」の違いについて学習していきましょう。


print() や input() などの「関数」は、print(引数) input(引数) と記述されます。


その一方でメソッドは、データ.メソッド名(引数) と表現することができます。関数もメソッドも「引数を持つ」点は共通しています。


しかし、メソッドには「ドット ( . )」が付きます。メソッドはオブジェクトが持っているもので、'オブジェクトありき' です。


そのため「データ」が持っている「メソッド」を実行する、という意味の書き方としてデータ.メソッド(引数) という表現をします。


早速、オブジェクトのデータが持っているメソッドを Python を使用して実行してみましょう。

文字列のメソッド(振る舞い)

python コード サンプル

Pythonに入力されているデータである数値列や文字列であるオブジェクトは、プロパティとメソッドを持っています。


メソッドは種類が非常に豊富ですので、以下にリンクを貼っておきますので、ご参照ください。


数式に関する全てのメソッドはこちらに記載されています。
>> Python 標準ライブラリ【数値型】


数値に比べて、文字列のメソッドは比較的扱いやすいものが揃っているので、下記のドキュメントから数種類ほどピックアップして紹介します。
>> Python 標準ライブラリ【文字列型】

七海有里佳のゆる★Python!|メソッド応用の回

先程紹介した動画の続きにメソッドのタイプをいくつか紹介している回がありましたので、載せておきます。


また、色々なタイプのメソッドを紹介している英語の動画は、先程紹介した英語教材でも紹介されています。

文字列の大文字↔︎小文字の変換 lower()upper()

半角英字の文字列の変換についてのメソッドをおさえておきましょう。

  • lower() 大文字を小文字にするメソッド
  • upper() 小文字を大文字にするメソッド


実際にコードで確認してみましょう。


データ.メソッド(引数) という表現の仕方を思い出しましょう。

半角英字の文字列を小文字と大文字に変換することはできましたでしょうか。

文字列がどこにあるのか探す find()count()

文字列の中に特定の文字列が入っているかを検索するには find() メソッドを使います。方法は、検索したい文字列を引数に指定します。


繰り返しですが、メソッドはデータ.メソッド(引数) という表現をします。

注意点としては "a" , "b" ,"c" という様に、ダブルクォーテーションで囲むのを忘れない様にして下さい。


また、文字列の何番目にあるのか、ということですが、最初は"0"番目として数えます。


なお、文字が入っていない場合には "-1" という戻り値 = 結果になります。


また文字数をカウントしたい場合には、count() というメソッドを使用します。

何も文字が入っていない場合には戻り値が 0 になります(x.count("p"))の場合です。

文字列を置換する replace()

文字列を置き換えたい場合は replace() メソッドを使います。検索文字列と置換後の文字列の2つの引数があります。


検索文字列,置換後の文字列 という様な感じです。


これは非破壊的メソッドですので、最後に変数を指定して上書きする必要があります。

文字列のトリミングする strip()

空白のスペースや改行を取り除く処置をトリムと呼びます。


トリムを行うメソッドとして strip() メソッドがあります。

この場合、strip() という様に引数は不要です。

文字列の中に変数を埋めこむ

文字列の中に変数を埋め込む方法として、次の方法もあります。


文字列中に {} を入れておき、 format() を使うことで、{} を変数に置き換えることが可能です。


format を使用しなくても、文字列のクォーテーションの前に f をつけても同様のメソッドになります。


以上の様な文章を作成することも可能です。

まとめ

Python オブジェクト メソッド


如何でしたでしょうか。今回は関数に引き続き、オブジェクトとメソッドについて学習しました。


オブジェクトの説明、メソッドの説明、関数とメソッドの説明、また具体的な文字列メソッドについて説明する事ができれば、今回の学習目標は到達しています。

今回はこれで終了とします。


-python
-,

Copyright© Tommy blog  , 2020 All Rights Reserved.