クラス関数の出力結果がオカしい
クラス関数の初歩的な勉強をしていました。
質問の内容から行くと、出力の結果に予期していなかった『None』という文字が出てきます。
加えて、最初に runfile(略)という文字が出てきます。(白枠の塗りつぶしは自身のユーザー名です)
以下に入力と出力のスクリーンショットをおつけします。
なぜ出るかわかりますでしょうか?
言語はPython3.9, 開発環境はPycharmを使っています。
よろしくお願いします。
※名前は適当に定義しました。
0
クラス関数の初歩的な勉強をしていました。
質問の内容から行くと、出力の結果に予期していなかった『None』という文字が出てきます。
加えて、最初に runfile(略)という文字が出てきます。(白枠の塗りつぶしは自身のユーザー名です)
以下に入力と出力のスクリーンショットをおつけします。
なぜ出るかわかりますでしょうか?
言語はPython3.9, 開発環境はPycharmを使っています。
よろしくお願いします。
※名前は適当に定義しました。
runfile 行は lesson.py を実行する命令が Pycharm によって発行されたことを表すだけなので、無視してください。
None
については、まず say_hello()
メソッドの動きを見ていきましょう。メソッドの中では print(略)
で挨拶を表示しています。15行目で ryo.say_hello('生田')
を実行した時点で、「こんにちは、生田さん(略)」と出力されます。
メソッドの処理はそれだけですが、何も return
しなかったメソッドは暗黙的に None
値を返します。15行目では、 print(ryo.say_hello('生田'))
のようにメソッドの返り値をさらに表示しているため、挨拶に続いて(None
値を文字列化した) None
が出力されてしまいます。
問題を解決するには15行目の外側の print()
を消して ryo.say_hello('生田')
だけにします。16行目も同様です。
@oz_coffee
Questioner