5

この回答によると、関数呼び出しはステートメントですが、私がCourseraでフォローしているコースでは、関数呼び出しは式であると言われています。

これが私の推測です: 関数呼び出しは何かを行います。それがステートメントである理由ですが、呼び出された後、値を評価して渡すため、式にもなります。

関数呼び出しは式ですか?

4

3 に答える 3

13

呼び出しはです。Expressions リファレンス ドキュメントにリストされています。

ステートメントの場合は、式の一部として使用できません。ステートメントには式を含めることができますが、その逆はできません。

例として、return expressionはステートメントです。式を使用して動作を決定します。式の結果は、現在の関数が返すものです。その式の一部として呼び出しを使用できます。

return some_function()

returnただし、呼び出しの一部として使用することはできません。

some_function(return)

それは構文エラーになります。

return「何かをする」のは です。関数を終了し、式の結果を返します。関数を返すのは式そのものではありません。

Python 呼び出しが式でない場合、呼び出しと他の式アトムをより複雑な式に混在させることはできません。

于 2013-05-21T00:26:48.440 に答える
0

print関数呼び出しは式であるため、またはなどのステートメントで使用できます=

x = len('hello')        # The expression evaluates to 5
print hex(48)           # The expression evaluates to '0x30'

Python では、関数は整数や文字列と同じようにオブジェクトです。他のオブジェクトと同様に、関数には属性とメソッドがあります。関数を呼び出し可能にするのは__call__メソッドです。

>>> def square(x):
        return x * x

>>> square(10)
100
>>> square.__call__(10)
100

括弧はメソッドにディスパッチされ__call__ます。

これは、Python がどのように機能するかの中核です。これらの洞察がお役に立てば幸いです。

于 2013-05-21T00:51:32.423 に答える