问题
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?
回答1:
It's Sage-specific. You can use preparse to see how it is desugared to:
sage: preparse("(1..12)")
'(ellipsis_iter(Integer(1),Ellipsis,Integer(12)))'
See here for documentation of ellipsis_iter, here for information on the preparser. 
回答2:
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
回答3:
This is not Python syntax. I would guess that it creates a range from 1 to 12.
回答4:
(1..n) syntax does not exist in Python.
来源:https://stackoverflow.com/questions/3511699/python-1-n-syntax