2017-07-27 5 views
-1

Attached picture related to return valueのPythonの基本 - 添付画像で戻り値

二つの結果があるなぜ、私が疑問に思って?それは、def関数が1つを派生させ、print関数が別の関数を派生させることによるものですか?ありがとうございました!デフォルトでは

+0

質問の文章にコードを含めてください。 https://stackoverflow.com/editing-help – perigon

+0

Pythonでは、すべての関数はオブジェクトを返すか(デフォルトでは 'None')、例外を送出します。印刷はユーザーにとっての副作用です。これは、プログラムとユーザーが使用する返されたオブジェクトと同じではありません。彼らが返すオブジェクトを中心とした目的のデザイン機能。実際に – pylang

答えて

2

、機能が自動的になしを返します:

def f(): 
    pass 

>>> print(f()) 
None 

あなたは、もちろん、他の戻り値を指定することができます。

def f(): 
    return 42 

>>> print(f()) 
42 

あなたの例では、関数が値を出力し、 なしを返します。 2番目の印刷ではなしと表示されます。 2つのプリントがあります。そのため、2つの値が表示されています。

+0

です。明確にするために。あなたの関数は何も返しません(つまり、デフォルトでNoneを返します)。したがって、print(half_value(42))の最初のexectusのhalf_value(42)は21.0を出力し、half_valueの戻り値、つまりNoneを返します。 – user1352683

関連する問題