0

私はこのドキュメントを読みました:http: //docs.python.org/reference/simple_stmts.html

今、私はそれが説明するようなステートメントを作成したいと思います。たとえば、複数のassertステートメントとprintステートメントを連結するステートメント。構文が不明確です。演算子はどのように使用し::=ますか?

明確な例に感謝します。

4

1 に答える 1

13

Python 文法リファレンスと実際の Python コードの例を混同していると思います。の付いたセクションは、 Backus–Naur Form::=の Python ステートメントの構造を正式に説明しています。他の例では、実際の Python コードと、正式な文法が実際にどのように見えるかを示しています。

たとえば、文法要素assert_stmtの形式は次のとおりです。

assert_stmt ::= "assert" expression ["," expression]

これは、実際の Python assert ステートメントの構造を示しています。たとえば、次のようになります。

assert (2 + 2 == 4), "The world is ending!"

文法で引用された要素は、terminalと呼ばれ、Python 構文では文字どおりに表示されます。これらには、たとえば、assertキーワードとコンマが含まれます。引用符で囲まれていない部分は、非終端記号と呼ばれる他の文法要素を参照します。たとえば、expression値を返す Python 式に対応します。括弧内の文法要素[]はオプションであるexpression ["," expression]ことを示しているため、1 つまたは 2 つの式のカンマ区切りのリストを参照します。

于 2012-10-17T23:25:43.930 に答える