プロが教える店舗&オフィスのセキュリティ対策術

今パイソンでプログラムを勉強しているが

# クラスの定義
class Human:

def __init__(self,name,height,weight):
self.name = name
self.height = height
self.weight = weight

def hello(self,):
print("おはよう")

# 実行部分
tanaka = Human("tanaka",170,50)
print(tanaka.name)
tanaka.hello()

## 実行結果
tanaka
おはよう

とでてくるが、名前の他に身長、体重も表記したいが

# 実行部分
tanaka = Human("tanaka",170,50)
print(tanaka.name) ここをprint(tanaka.name,height,weight) に直し
tanaka.hello()

とした場合エラーになるが どうすればいい。

A 回答 (2件)

print(tanaka.name)



print(tanaka.name,tanaka.height,tanaka.weight)
にしてください。
    • good
    • 0
この回答へのお礼

できました。有難うございました。

お礼日時:2022/03/06 17:58

> エラーになる



まず、そのエラーメッセージ読みましょう。
ほとんどの場合、修正のヒントがそこにあります。

> print(tanaka.name,height,weight)
NameError: name 'height' is not defined
「height」という「名前(変数名、メソッド名等)」は定義されていない、と言っています。

実際に、heightという名前は、この中に「単独では」出てきていません。
Humanクラスのheightフィールドがあるだけです。

print(tanaka.name)
では
tanaka.name
を指定しています。
print(tanaka.name,height,weight)
では
tanaka.name
height
weight
を指定しています。違いははっきりしています。
    • good
    • 1
この回答へのお礼

有難う できました。

お礼日時:2022/03/06 17:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!