6

このSage wiki ページのコードに、次のコードが含まれています。

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

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

4

4 に答える 4

13

それはセージ特有のものです。を使用preparseして、次のように脱糖する方法を確認できます。

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

のドキュメントについてはこちらを、プリパーサーについてはこちらを参照してください。ellipsis_iter

于 2010-08-18T12:11:26.243 に答える
10

この表記をPythonに追加するPythonPEPがありましたが、拒否されました。Robert Bradshawはとにかくそれを実装することに決めましたが、Sageプリパーサーのためです。彼は以下を実装しました:

  • (a..b)-xrangeのように、イテレータ

  • [a..b]-エンドポイントを含むリスト

  • [a、b、..、c]-等差数列

于 2010-08-18T15:40:15.377 に答える
1

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

于 2010-08-18T11:49:24.007 に答える
0

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

于 2010-08-18T11:49:02.900 に答える