練習問題
3.5 練習問題
本章で習った内容を元に練習問題を解いてください。
問1 次の設問①~⑤について○か×で答えなさい。
設問
① クラス内に定義できるものには変数、メソッドの他にコンストラクタがある。
② コンストラクタの名前は自由につけることができ、戻り値も設定できる。
③ コンストラクタには第一引数を指定しなければならず、引数名にはselfを指定しなければならない。
④ 第一引数を介してインスタンス変数を定義することができ、他のメソッドと共有することができる。
⑤ コンストラクタが定義されたクラス内で、他のメソッドを設ける場合、第一引数を設定する必要がある。
問2 以下に示すPersonクラスのコンストラクタ定義の誤りを3つ答えなさい。
ソースコードソース・フォルダー: /Desktop/Python基礎講座
ファイル名: 第3章.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/第3章.ipynb
#クラスPersonを定義 class Person: #コンストラクタの定義 def __init__(): #戻り値の設定 return person def PersonPrint(): print(person) Person1 = Person(‘田中’) Person1.PersonPrint()
問3 以下のようなコンストラクタの仕様において、実行結果が以下のようになるように①~⑧の空欄を埋めてください。
コンストラクタ仕様
インスタンス引数として以下の4つを定義する。
第1引数:name第2引数:mathSc 第3引数:scienceSc 第4引数:english
コンストラクタ、メソッドをそれぞれ第一引数をselfに設定し、引数の値をそのまま同じ名前のインスタンス変数に対応するように設定する。
ソース・フォルダー: /Desktop/Python基礎講座
ファイル名: 第3章.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/第3章.ipynb
実行結果
田中 さんの数学の点数は 42 点です。 田中 さんの理科の点数は 32 点です。 田中 さんの英語の点数は 22 点です。 田中 さんの合計得点は 96 点です。