これらは既に全てが有効になっていて、後方互換性のためだけに残されているため、冗長なだけです。対する意味付けが変更されている場合、変更部分はしばしば異なるコードを生成することで実現されています。互換性のない新たな構文が取り入れられることさえあります。この場合、コンパイラはモジュールを別のやりかたで解析する必要があるかもしれません。したコード生成に関する決定は、実行時まで先延ばしすることはできません。文に未知の機能が含まれている場合にはコンパイル時エラーを送出します。あり、これについては後で述べます。文で有効化される特定の機能によって変わります。文であり、その他の特殊な意味付けや構文的な制限はありません。文に関係する新たな構文や意味付けを使うようになっています。詳細はこの関数に関するドキュメントを参照してください。文は、その後のインタプリタセッション中で有効になります。文を入れておくと、新たな機能はスクリプトが実行された後に開始する対話セッションで有効になります。文は、現在のコードブロック全体で維持される宣言文です。文は、列挙した識別子をグローバル変数として解釈するよう指定することを意味します。使わずにグローバル変数に代入を行うことは不可能ですが、自由変数を使えばその変数をグローバルであると宣言せずにグローバル変数を参照することができます。文より前に使ってはなりません。文、変数アノテーションで仮引数として使ってはなりません。現在の実装では、これらの制限のうち幾つかについては強制していませんが、プログラムでこの緩和された仕様を乱用すべきではありません。将来の実装では、この制限を強制したり、暗黙のうちにプログラムの意味付けを変更したりする可能性があります。文と同時に読み込まれたコードに対してのみ適用されます。文に影響を受けません。文は、列挙された識別子がグローバルを除く一つ外側のスコープで先に束縛された変数を参照するようにします。これは、束縛のデフォルトの動作がまずローカル名前空間を探索するので重要です。スコープ以外のローカルスコープの外側の変数を再束縛できるようにします。(新しい束縛が作られるべきスコープの選択が曖昧さを排除できません)。文で列挙された名前は、ローカルスコープですでに存在する束縛と衝突してはなりません。