質問

これのコードに表示されます セージウィキページ 次のコード:

@interact
def _(order=(1..12)):

これは (1..n) Sageに固有の構文ですか、それともPythonで何かですか?また、それは何をしますか?

役に立ちましたか?

解決

それは賢者固有です。使用できます preparse それがどのように脱着されているかを見るために:

sage: preparse("(1..12)")
'(ellipsis_iter(Integer(1),Ellipsis,Integer(12)))'

見る ここ のドキュメント用 ellipsis_iter, ここ 事前節の詳細については。

他のヒント

この表記法をPythonに追加するPython Pepがありましたが、拒否されました。ロバート・ブラッドショーは、とにかくそれを実装することを決めましたが、賢者にとっては劣っています。彼は以下を実装しました。

  • (a..b) - xrangeのように、iterator

  • A..B] - エンドポイントを含むリスト

  • a、b、..、c] - 算術進行

これはPython構文ではありません。 1〜12の範囲を作成すると思います。

(1..n) 構文はPythonには存在しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top