クラスの機能を引き継ぎたい
クラスの機能を引き継ぐという練習していました。
class Person: def __init__(self, name, height, weight): self.name = name self.height = height self.weight = weight def bmi(self): result = self.weight / (self.height * self.height) print(self.name,'のBMIは', result,'です。')
というファイルをまず作成し、myclass.pyで保存したのち、別フォルダに
class BusinessPerson(Person): def __init__(self, name, height, weight, title): super().__init__(name, height, weight) self.title = title def work(self): print(self.title, 'の', self.name,'は働いていてる。')
とファイルを作成し、myclass.pyで保存しました。
###作成したコード
python3
1import myclass 2 3bp = myclass.BusinessPerson('モミジ', 1.26, 24, 'freshman') 4bp.bmi() 5bp.work() 6 7
以上のようにコードを作成し実行しても、以下のようなエラーが表示されます。
表示されるエラー
class BusinessPerson( Person): NameError: name 'Person' is not defined
スペルや文法ミスを探しても見つからないので、教えていただけると助かります。
よろしくお願いします、
ファイル構造をスクショしました。
一番下の方の1002に1つ目のmyclass.py、1003に2つ目のmyclass.pyを保存し、1003のclass.client.pyにコードを書き実行しました。
###変更してやってみた
ここで以下のように1002に保存してあった1つ目のmyclass.pyの名称をmyclass2.pyとして切り取り、1003に移動しました。
1003に保存してあった2つ目のmyclass.pyの名称をmyclass3.pyに変更して、
python3
1import myclass3 2 3bp = myclass3.BusinessPerson('モミジ', 1.26, 24, 'freshman') 4bp.bmi() 5bp.work() 6
class.client.pyを実行したのですが、結果は変わりませんでした。
ややこしくてすみません。よろしくお願いします。
maciOS 10.14.1
visual studio code
回答2件
あなたの回答
tips
プレビュー