Pythonのクラスとメソッド、アルゴリズムを用いた掛け算を行うプログラムを作ってみます。
■Python
Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。
■クラスとメソッド、アルゴリズムを用いた掛け算を行うプログラムの作成
では、早速クラスとメソッド、アルゴリズムを用いた掛け算を行うプログラムを作成するために、コードを書いていきます。
■コード
class Multiplier: def __init__(self): self.num1 = 0 self.num2 = 0 def set_numbers(self, num1, num2): self.num1 = num1 self.num2 = num2 def multiply(self): result = self.num1 * self.num2 return result multiplier = Multiplier() num1 = int(input("1つ目の数値を入力してください: ")) num2 = int(input("2つ目の数値を入力してください: ")) multiplier.set_numbers(num1, num2) result = multiplier.multiply() print("結果は {} です。".format(result))
Multiplierというオブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。定義後、クラス内にdef文を用いて’__init__’と記述し、コンストラクタを使います。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。なお、最初の「self(自己)」という引数,パラメータを介して、「num1, num2」という2つのクラスのインスタンス変数内に「0」が格納されます。この時にself(自己)に対してドット演算子( . )を用いてnum1, num2の2つを指定します。
次にクラス内にdef文を用いてset_numbers()というメソッドを定義します。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。次に第2,第3の引数,パラメータとして「num1, num2」を設定します。設定し受け取った値を、Multiplierというクラスに属するインスタンス変数であるself.num1とself.num2に設定されるようにします。
メソッドを定義後、multiply()というメソッドを定義します。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。その後、このメソッドが呼び出された時に実行される処理として、resultという変数を定義しその中にMultiplierというクラスに属するインスタンス変数であるself.num1とself.num2を”*(アスタリスク)”を用いて掛け算(乗算)し、演算された結果をresult変数に格納。格納後、returnとして、result変数を返すという処理を記述します。
メソッドを定義後、multiplierという変数を定義し、その中にそれぞれMultiplier()を格納し、インスタンス化を行います。インスタンス化によりオブジェクトが作成されたことで、クラス内にアクセスできるようになりました。次にnum1とnum2という変数を定義し、その中でinput()でユーザーからのキーボード入力を受け取り、受け取ったものを整数として変換しそれぞれの変数に格納します。
格納後、作成したオブジェクトであるmultiplierに対してドット演算子( . )を用いてset_numbers()を呼び出します。括弧内には引数,パラメータとして、num1とnum2の変数を渡します。渡した後にresult変数を定義し、その中で、作成したオブジェクトであるmultiplierに対してドット演算子( . )を用いてmultiply()を呼び出します。これで掛け算(乗算)が行われ結果がresult変数に格納。
最後に、print()でresult変数の情報を出力します。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、ユーザーからのキーボード入力を受け取るために入力欄が表示され、今回はテストで仮の数値を入力。入力後、multiplier内のmultiply()が呼び出され掛け算(乗算)が実行。実行後、結果を出力させることができました。
コメント