Python (1..n) 语法?
我在此 Sage wiki 页面 上的代码中看到以下代码:
@interact
def _(order=(1..12)):
这是 (1. .n)
Sage 独有的语法还是 Python 中的语法?另外,它有什么作用?
I see in the code on this Sage wiki page the following code:
@interact
def _(order=(1..12)):
Is this (1..n)
syntax unique to Sage or is it something in Python? Also, what does it do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是 Sage 特有的。您可以使用
preparse
来查看它是如何脱糖的:请参阅此处获取
ellipsis_iter
的文档,此处 有关预解析器的信息。It's Sage-specific. You can use
preparse
to see how it is desugared to:See here for documentation of
ellipsis_iter
, here for information on the preparser.有一个 Python PEP 想要将此表示法添加到 Python 中,但被拒绝了。 Robert Bradshaw 决定无论如何都要实现它,但是对于 Sage 准备器来说。他实现了以下内容:
(a..b) -- 像 xrange,所以是一个迭代器
[a..b] - - 列表,包括端点
[a,b,..,c] -- 算术级数
There was a Python PEP to add this notation to Python, but it was rejected. Robert Bradshaw decided to implement it anyways, but for the Sage preparser. He implemented the following:
(a..b) -- like xrange, so an iterator
[a..b] -- list, including endpoints
[a,b,..,c] -- arithmetic progression
这不是 Python 语法。我猜它会创建一个从 1 到 12 的范围。
This is not Python syntax. I would guess that it creates a range from 1 to 12.
Python 中不存在
(1..n)
语法。(1..n)
syntax does not exist in Python.