###質問内容
Python初心者です。
クラスからインスタンスを作成してインスタンスメソッドを呼び出すというコードを書いたのですが、printで表示した際に予期せぬNoneが表示されてしまいました。これがどうして表示されるのかわかりません。
###発生している問題・エラーメッセージ
コードの実行結果は
Mike
None
です。
インスタンスメソッドにprintがあることからprintで呼び出した際に、
インスタンスメソッド内のprint関数が呼ばれてname=Mikeが表示されるという認識です。この後でNoneが表示されるのはprintで表示するのがなくなったからでしょうか?
しかし空のprint()は何も表示しないので、どうしてNoneと表示されるのかわかりません。
###該当のソースコード
Python3
1class Cat: 2 def __init__(self, name, age): 3 self.name = name 4 self.age = age 5 def catname(self): 6 print (self.name) 7 8x = Cat("Mike", 15) 9print (x.catname()) 10 11
###試したこと
catname内のprintをreturnにすればMikeだけが返ってくるので、Noneが表示される理由はここをprintにしているからというのはわかりますが、仕組みがわかりません。
より詳細な情報
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/06 08:35
2017/05/06 08:57
2017/05/07 00:24