oz_coffee
@oz_coffee (杉山 健)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

クラス関数の出力結果がオカしい

クラス関数の初歩的な勉強をしていました。
質問の内容から行くと、出力の結果に予期していなかった『None』という文字が出てきます。
加えて、最初に runfile(略)という文字が出てきます。(白枠の塗りつぶしは自身のユーザー名です)

以下に入力と出力のスクリーンショットをおつけします。
なぜ出るかわかりますでしょうか?
言語はPython3.9, 開発環境はPycharmを使っています。
よろしくお願いします。

スクリーンショット 2023-01-28 1.05.32.png
↑出力
↓入力
スクリーンショット 2023-01-28 1.05.20.png

※名前は適当に定義しました。

0

1Answer

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行目も同様です。

1Like

Comments

  1. @oz_coffee

    Questioner

    printが重複していたのですね。気がつきませんでした。ありがとうございます。

Your answer might help someone💌