この記事を読むことで、クラスを使った演算を学べます。
具体例として、アロマオイルの単価と数量と税率から合計金額を演算します。
クラスは「設計図」というイメージで説明されることが多いです。
「Aroma」というクラス(設計図)に「money」というメソッド(クラス内で使う関数)を持たせて、アロマという抽象的なものから、「ハッカ油」、「レモン精油」という具体的なもの(インスタンス)を作って計算結果を求めています。
おすすめのハッカ油とレモン精油を購入するイメージでコードを書きました。
ハッカ油5本、レモン精油4本とします。
ハッカは1本1000円、レモンは1210円で計算しました。
今回イメージで購入するハッカ油とレモン精油です。
Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介
では、コードを書いていきます。
まず、クラスは下記のコードで作れます。
class Aroma:
「Aroma」というクラスを作りました。注意点として、クラスの先頭は大文字にします!
クラス内で、消費税率taxを宣言しました。
tax=1.1
消費税率10%ですね。
このクラスの中に、先ほど紹介した「money」という値段を計算するメソッドがあるのですが、「Aroma」というクラス(設計図)を初期化して、「ハッカ油」の値段を計算 → 「ハッカ油」の値段と数量が入っている変数を初期化→「レモン精油」の値段を計算しています。
初期化する為に、「コンストラクタ」という特別なメソッドを使います。
このメソッドがあるから、「ハッカ」→ <初期化> → 「レモン精油」と計算出来るのです。そのため、メソッド「money」の前にコンストラクタを書いています。
コンストラクタはクラスの中で1番先に呼び出されます。
#これは「コンストラクタ」で最初に呼ばれて変数を初期化している
def __init__(self,price,count):
self.price=price
self.count=count
コンストラクタは、「init」を使って書いています。
コンストラクタの書き方をまとめると、上記コードの2行目は、この様な書き方になります。
def (スペース)__(アンダーバー2つ)init__(アンダーバー2つ)
このコンストラクタの中には「self」というものが入っていますが、ここでは簡単に、「ハッカ油自体」、「レモン精油自体」だと思って下さい。
コンストラクタの後に、値段を計算するメソッドmoneyを書きます。
#値段を計算するメソッド
def money(self):
return int(self.price*self.count*Aroma.tax)
ハッカ油の値段と数量と消費税率を掛けてintで整数にして計算しています。
ハッカ油やレモン精油をクラスを使って計算するのは、クラスという設計図のような物に「ハッカ油」、「レモン精油」の単価と数量を指定して計算します。
そのインスタンス化と出力のコードです。
#インスタンス化
hakka=Aroma(1000,5)
remon=Aroma(1210,4)
#値段を出力。「str」と「+」を使って計算結果と文字列を出力している。
print('【 ハッカ油】は合計【'+str(hakka.money())+'】円です。')
print('【レモン精油】は合計【'+str(remon.money())+'】円です。')
ここまでのコードのまとめと、出力結果です。
class Aroma:
#消費税
tax=1.1
#これは「コンストラクタ」で最初に呼ばれて変数を初期化している
def __init__(self,price,count):
self.price=price
self.count=count
#値段を計算するメソッド
def money(self):
return int(self.price*self.count*Aroma.tax)
#インスタンス化
hakka=Aroma(1000,5)
remon=Aroma(1210,4)
#出力
print('【 ハッカ油】は合計【'+str(hakka.money())+'】円です。')
print('【レモン精油】は合計【'+str(remon.money())+'】円です。')
アロマなんかにそんなにお金使うのか!!!という声も聞こえてきそうですが、
何にお金を使うのかは人それぞれですよね。
おすすめは 北見ハッカ通商さんのハッカの商品 です。
◆関連記事◆
アロマでゴキブリを追い出せ
ハッカ愛から、ハッカー
ご精読ありがとうございました。
あなたを愛しています(=^x^=)
■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。
Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。