-2

関数間で変数を渡す方法があるかどうか疑問に思っていましたが(それが教えられたので return を使用します)、画面に出力しません。

私が使うとき

return userText

それも印刷されます。これを回避する方法はありますか?印刷をミュートできますか?

4

1 に答える 1

1

を使用しても何も出力されませんreturn

ほとんどの場合、次の 2 つのいずれかを行っています。


呼び出し内で関数を呼び出している可能性がありprintます。例えば:

def spam():
    return 'spam'

print(spam())

明らかにここでprintは、返品ではなく、印刷を行っているのは です。スクリプトでこれを行うだけでは、何も出力されません。

spam()

…またはこれ:

breakfast = spam()

または、対話型インタープリターを使用している可能性があります。プロンプトで式を入力すると、Python は式の値を表示します。

>>> 1
1
>>> def spam():
...     return 'spam'
>>> spam()
'spam'

繰り返しますが、それはreturn;が原因ではありません。それはプロンプトが行うことです。

多くの場合、値を見たくないでしょう。たとえば、これを行う場合 (実際にはこれを行わないでください):

>>> def spam():
...     return 'spam\n' * 100000
>>> spam() # again, don't do this!

… コンソールに 100000 行の出力をスパムします。

それを避けるには、値を変数に代入するだけです。そうすれば、Python は値を表示する必要がありません。後で必要になったときに使用できるからです。

>>> breakfast = spam()
>>> len(breakfast)
500000

(実際には、Python は、変数を保存したからといって変数を出力しないことが安全であると魔法のように判断しているわけではありません。実際には、ではなくステートメントを記述しただけであり、ステートメントには値がありません。 、そのため、印刷するものは何もありません。)

于 2013-11-11T08:35:23.233 に答える