Вопрос

Я вижу в коде на этом Sage Wiki Page Следующий код:

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

Это (1..n) Синтаксис уникальный для мудреца или что-то в Python? Кроме того, что это делает?

Это было полезно?

Решение

Это специфичный шалфей. Ты можешь использовать preparse Чтобы увидеть, как это обезьяна:

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

Видеть здесь Для документирования ellipsis_iter, здесь Для получения информации о препаратере.

Другие советы

Был Python Pap, чтобы добавить эту запись в Python, но он был отклонен. Роберт Брэдшоу решил в любом случае его реализовать, но для подготовщика мудреца. Он реализовал следующее:

  • (a..b) - как xrange, так что итератор

  • a..b] - список, включая конечные точки

  • A, B, ..., C] - арифметическая прогрессия

Это не синтаксис Python. Я думаю, что он создает диапазон от 1 до 12.

(1..n) Синтаксис не существует в Python.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top