私は以前にprintステートメントをreturnステートメントにしていましたが、None
を返すクラス内に非常に短い関数があります。 :私の関数は返り文を持っていても返りません
def explain(self):
return(print('Wear a', self.getColor(), 'shirt')
ステートメントがプリントアウトされますが、それは次の行にNone
を出力するたびに、私は私が起きてからこれを停止することができますか教えてください!
私は以前にprintステートメントをreturnステートメントにしていましたが、None
を返すクラス内に非常に短い関数があります。 :私の関数は返り文を持っていても返りません
def explain(self):
return(print('Wear a', self.getColor(), 'shirt')
ステートメントがプリントアウトされますが、それは次の行にNone
を出力するたびに、私は私が起きてからこれを停止することができますか教えてください!
これは、print
の出力が端末に印刷され、print
関数の値がNone
で返されるためです。のみ必要とされている値を返す場合は、単に上記でprint文を削除し、印刷することができ
def explain(self):
string = 'Wear a' + self.getColor() + 'shirt'
print(string)
return string
:あなたは値だけでなく、印刷を戻したい場合は
それは、あなたのような何かを行うことができますそれは後で。
return
ステートメントは機能ではありません。これは制御フローの構成要素(if-else
など)です。これは、 "関数呼び出しの間にあなたとデータをとる"ことができるものです。したがって、関数ではないので、print
を返すことはできません。これは予約語です。しかし、print
はステートメントなので、端末で出力されていますが、関数によって何も返されないので、None
も出力されています。文字列を返す場合は、次のようにします。
return 'Wear a ' + self.getColor() + ' shirt'
Hey!クエリが解決された場合は、[回答の1つを受け入れる](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を忘れないように:) –