4

重複の可能性:
式とステートメント

Pythonのステートメントの違いは何ですか?

「 yieldを式として使用する」というPythonジェネレーターを学ぶまで、この質問について考えたことはありません。

また、「yieldを式として使用する」というPythonジェネレーターのコンテキストでこの質問を説明できますか?

4

3 に答える 3

8

式を評価して値を返すことができます。任意の式をステートメントとして使用することもできます。

言い換えれば、あなたが書くことができればa = ...、それ...は式です。だから2*3zip(x,y)は表現です。

のようなものraise Exceptionはステートメントですが、式ではありません。を書くことはできませんa = (raise Exception)

式であるyieldはb = (yield a)、ジェネレーターで有効なコードであることを意味します。ジェネレータのsend()メソッドを使用する場合、bは渡した値に設定されます。

于 2012-09-26T11:39:48.497 に答える
2

には、識別子、リテラル、演算子のみが含まれます。演算子には、算術演算子とブール演算子、関数呼び出し演算子()、サブスクリプション演算子[]などが含まれ、任意のPythonオブジェクトであるある種の「値」に減らすことができます。

一方、ステートメント は、Pythonコードの1行(または数行)を構成できるすべてのものです。式もステートメントであることに注意してください。

それがあなたを助けることを願っています:)

于 2012-09-26T11:36:32.060 に答える
0

私はそれを次のように要約します:

  • 何かであり、すでに述べたように、値があります。
  • ステートメント何かを行います。

もちろん、この種の削減には注意点があります。式は、その評価の一部として何かを行う場合があります。しかし、それでも最終的には価値があります。

于 2012-09-26T11:51:36.073 に答える