The Python Language Reference / Справочник по языку Python: 1. Introduction

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

<font style="text-align: right; font-weight: bold;">Введение</font>

Droidos 19.09.10 в 17:43

0

Это справочное руководство описывает язык программирования Python. Оно не предназначено для использования в качестве учебника.

starius 05.03.12 в 16:55

0

Хотя я постараюсь быть как можно более точен, я решил использовать английский без
специальных терминов для всего, кроме синтаксиса и лексического анализа. Это должно
сделать документ более понятным для рядового читателя, но оставит места для
двусмысленностей. Следовательно, если вы придете с Марса и попытаетесь повторно
реализовать Python из этого документа в одиночку, вам придётся додумывать многое и
фактически вы, вероятно, в конечном итоге реализуете совсем другой язык. С другой
стороны, если вы используете Python и интересуетесь, какие существуют точные правила
в конкретной области языка, вы обязательно сможете найти их здесь. Если вы захотите
видеть более формальное изложение языка, может быть, вам следовало бы не занимать
своё время - или изобрести клонирующую машину :-).

alvadia3 09.09.13 в 10:23

0

Опасно добавлять в документ с описание языка слишком много деталей реализации. Реализация может измениться, а различные реализации одного языка могут работать по разному. С другой стороны, CPython - это широко распространенная реализация языка Python (хотя альтернативные реализации продолжают завоевывать популярность) и его особенности иногда заслуживают рассмотрения, в особенности там, где реализация накладывает дополнительные ограничения. Поэтому, в тексте вы иногда найдете короткие "заметки по реализации".

Viktorianka 24.12.09 в 08:47

0

Каждая реализация Python поставляется со встоенными стандартыми модулями. Они задокументированы в руководстве The Python Standard Library. Встроенные модули упоминаются в том случае, когда они оказывают существенное влияние на определение языка.

Viktorianka 24.12.09 в 08:50

0

1.1. Альтернативные реализации
Несмотря на то, что одна из реализаций Python является самой популярной, существует также несколько других реализаций, которые могут быть интересны различным группам пользователей.

RedFox 13.12.09 в 07:07

0

Среди прочих наиболее известны следующие реализации:

RedFox 13.12.09 в 07:06

0

CPython
Это оригинальная и наиболее поддерживаемая реализация Python, написанная на C. Новые возможности языка первыми появляются, как правило, именно в ней.

RedFox 13.12.09 в 07:07

0

Jython
Python, написанный на Java. Эта реализация может быть использована, как скриптовый язык для Java приложений, или же для создания приложений с применением библиотек классов Java. Jython также часто применяется для написания тестов для библиотек Java. Более подробную информацию можно найти на сайте Jython.

RedFox 13.12.09 в 07:09

0

Python для .NET.
Эта реализация фактически использует реализацию CPython, но она является управляемым приложением .NET и в ней доступны библиотеки .NET. Эта реализация была создана Брайном Ллойдом. Больше информации вы найдете на домашней странице Python для .NET.

Viktorianka 24.12.09 в 08:54

0

IronPython
Альтернативная реализация Python для .NET. В отличие от Python.NET она реализует Python полностью, преобразовывается в промежуточный язык IL, и компилируется напрямую сборки .NET. Реализация создана Джимос Хаганин, первым автором Jython. Для дальнейшей информации см. вейсайт IronPython .

Viktorianka 24.12.09 в 08:59

0

PyPy
Реализация Python, написанная на Python. В качестве исполняющей среды используется CPython, как базовый интерпретатор. Одна из целей проекта - поддержать эксперимент над языком, создав более простой для модификации интерпретатор ( поскольку он также написан на Python). Дополнительная информация доступна на домашней странице проекта PyPy.

Viktorianka 24.12.09 в 09:03

0

Каждая из этих реализаций в чем-то отличается от языка, описанного в этом руководстве или представляет дополнительную информацию помимо того, что имеется в стандартной документации Python. Пожалуйста обращайтесь к документации по конкретной реализации языка, чтобы понять что еще нужно знать об используемой вами реализации.

Viktorianka 24.12.09 в 09:07

0

1.2 Нотация
Описание лексического анализа и синтаксиса использует модицифированный вариант грамматической нотации BNF. Используются следующие виды определений:

Viktorianka 24.12.09 в 09:14

0

name ::= lc_letter (lc_letter | "_")*
lc_letter ::= "a"..."z"

Viktorianka 24.12.09 в 09:44

0

<code>&nbsp;&nbsp;&nbsp;&nbsp;name ::= lc_letter (lc_letter | "_")*
&nbsp;&nbsp;&nbsp;&nbsp;lc_letter ::= "a"..."z"</code>

Droidos 19.09.10 в 17:40

1

В первой строке сказано, что Name (имя) - это lc_letter за которой следует ноль или более lc_letter и значок подчеркивания. lc_letter - это в свою очередь одиночный символ между 'a' и 'z'. ( Это правило фактически относится к именам, определенным по лексическим и граматическим правилам в этом документе).

Viktorianka 24.12.09 в 09:18

0

Каждое правило начинается с имени ( которое представляет имя, опеределенное правилом) и ::=. Вертикальная черта (|) используется для разделения альтернативных вариантов, это наименьший связующий оператор в этой нотации. Звезда (*) обозначает 0 или более повторений предшествующего элемента; аналогично, плюс (+) обозначает 1 или более повторений, фраза, заключенная в квадратные скобки [] обозначает 0 или 1 вхождение (другими словами, фраза в квадратных скобках является необязательной). Пробелы используются только для разделения токенов. Правила обычно располагаются в одной строке; правила с несколькими альтернативами могут быть оформлены иначе, каждая линия после первой начинается с вертикальной черты.

Viktorianka 24.12.09 в 09:27

0

В лексических определениях (таких как в примере выше), мспользуются еще 2 соглашения. Два буквенных символа, разделеные тремя точками обозначают любой символ из заданного интервала ASCII символов. Фраза в треугольных скобках дает неформальное описание определяемого символа, например она может использоваться для описания значения 'управляющих символов', если это необходимо.

Viktorianka 24.12.09 в 09:37

0

Несмотря на то, что используемая нотация в основном одинакова, следует различать значение лексических и синтаксических определений: лексические определения оперируют отдельными символами в качестве входного источника , в то время как синтаксические определения оперируют с потоками токенов, созданными лексическим анализом. Все использования BNF в следующей главе - лексические определения, в последующих главах - синтаксический определения.

Viktorianka 24.12.09 в 09:43

0
Минутку...