ついて情報発信しています。VBAプログラムは本当の初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。【Python】クラスの使い方を分かりやすく解説|コンストラクタに引数を渡す2020-01-22【Python】クラスの使い方を分かりやすく解説|コンストラクタに引数を渡すPythonこのブログの記事一覧にもどるTweetPythonのクラスの使い方を分かりやすく解説します。クラスやオブジェクトと言った概念を使う理由については【Python】クラスとオブジェクト指向の考え方で詳しく解説しています。目次Pytonのクラスの使い方を分かりやすく解説するクラス(=機能の設計図)の中身を記述するインスタンス(=機能の集まったモノ、実態。オブジェクト)を生成する利用するインスタンス生成と同時に初期化を行うPytonのクラスの使い方を分かりやすく解説するクラスの使い方の手順は下記の通りです。クラス(=機能の設計図)の中身を記述するインスタンス(=機能の集まったモノ、実態。オブジェクト)を生成する利用するクラスは機能の設計図、インスタンスは機能の集まったモノ、と言う表現でピンと来ない方は、【Python】クラスとオブジェクト指向の考え方を併せてご参照下さい。それでは順に解説していきます。クラス(=機能の設計図)の中身を記述する今回実現したい機能は、【時間帯が朝ならBreakfast、昼ならLunch、夜ならDinnerと表示する】と言う機能です。料理の種類を返すクラスなのでクラス名はRyouri、メソッド名はryouri_shuruiとしましょう。ちなみにPythonでは慣習的にクラス名は大文字から始めることになっています。メソッドとはクラスの中に書かれている関数のことです。時間帯が朝で決め打ちの場合を考えます。ryouri_shurui(self):まず、Ryouriクラスにryouri_shuruiメソッドを作りました。メソッド(=クラス内の関数)は必ず引数として自分自身を意味するselfを持ちます。現時点では一旦、おまじないとしてスルーしておきましょう。次にryouri_shuruiの中身を作成します。実装したい機能を復習しておくと、下記の通りです。【時間帯が朝ならBreakfast、昼ならLunch、夜ならDinnerと表示する】if文でメソッドの中に実装していきます。print("食事の時間ではありません")jikantaiと言う変数に"morning"を決め打ちで入力しました。(「いちばんやさしい教本」シリーズ)","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/51JuSLWg6tL.jpg","\/51ifGRfdHpL.jpg","\/51R0DXDXSvL.jpg","\/51o045YVgXL.jpg","\/51KNlB0lh1L.jpg","\/51486OK9uKL.jpg","\/51iSFmcgoqL.jpg","\/511ArDbO0+L.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4295002089","t":"amazon","r_v":""},"aid":{"amazon":"1723653","rakuten":"1721830","yahoo":"1743526"},"eid":"0ZG9B","s":"s"});リンクインスタンス(=機能の集まったモノ、実態。オブジェクト)を生成するクラスは設計図であって、実態がないので、利用するためにはオブジェクトにする必要があります。クラスから生成したオブジェクトのことをインスタンスと言います。インスタンスの作り方は、変数にクラス名を入れるだけです。することで変数にクラスから生成したオブジェクトを入れたことになります。これがインスタンスを生成する、と言う行為です。#インスタンスの生成これで無事にインスタンスを生成することができました。オブジェクトとして利用することができます。出力結果:Breakfast無事に使う事ができました。インスタンス生成と同時に初期化を行う上記は最もシンプルな例ですが、実用的にはインスタンス生成と同時に初期化を行います。インスタンス生成と同時に自動で一回呼び出されるメソッドのことをコンストラクタと言います。先ほどのRyouriクラスにコンストラクタを追加します。print("食事の時間ではありません")一番大事なところです。__init__という名前のところがコンストラクタです。名前は決まっていて、initの前後にアンダースコア2つずつです。今回の例ではself以外に1つ引数を取ります。この引数はインスタンスを生成する時に渡されるものです。私が初めて勉強したときに混乱してしまったポイントがあります。それはここで引数を受け取る変数名は一時的なもので、別に何か名の変数名に合わせなくてもよいということです。具体的には下記の部分です。abcこのコンストラクタはmorning、noon、nightといった文字列を引数として受け取る予定です。それを受け取る変数を「abc」としています。ネット上の解説だと、サンプルが下記のようになっています。合わせる必要はないということです。受け取る引数名はabcでもxyzでも何でもいいのです。あとはインスタンスを生成して実際に使てみましょう。APIを使う方法を解説します。今こそ身に付けておくべき、OLEを使...OLEオートメーションの難しさは調べることの難しさでした。週間)1985年生まれの会社員。業務改善部隊に異動で芽を出し、現在に至る。本業での知識と経験を元に、ブログとTwitterで1生産性向上2業務改善3自動化について情報発信しています。アーカイブはてなブログをはじめよう!mutable_yunさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。