Синтаксис в Python
Синтаксис в Python
Лексемы и литералы в Python
Лексемы и литералы в Python
Лексемы и литералы в Python
Лексемы и литералы в Python
Имена в Python
Примерами идентификаторов могут служить: 
Отступы и точка с запятой в Python
Комментарии в Python
Форматирование python-кода(подводим итог)
Форматирование python-кода(подводим итог)
Самостоятельно:
Домашнее задание:
791.00K
Категория: ПрограммированиеПрограммирование

лекция 3 Синтаксис в Python

1. Синтаксис в Python

2. Синтаксис в Python

• Синтаксис языка программирования – это
набор правил, которые определяют структуру
и порядок написания программ на этом
языке.
• Говоря о синтаксисе, мы подразумеваем
правила написания идентификаторов и
литералов, использования ключевых слов,
разделения и оформления инструкций и
комментариев и т.д.

3. Лексемы и литералы в Python

• Если синтаксис – это набор правил, которые помогают
нам (программистам) правильно писать инструкции,
то лексемы - это кирпичики, из которых мы эти
инструкции составляем.
• Лексема – это минимальная единица кода
программы, которая имеет для интерпретатора
определенный смысл и не может быть разбита на
более мелкие логические части.
Все лексемы в Python делятся на пять основных групп:
• идентификаторы и ключевые слова (NAME),
• литералы (NUMBER, STRING и т.д.),
• символы операций (OP),
• разделители (NEWLINE, INDENT, ENDMARKER и др.)
• комментарии (COMMENT).

4. Лексемы и литералы в Python

• Узнать из каких лексем состоит тот или иной участок
исходного кода Python можно при помощи модуля
лексического сканера tokenize, который можно найти
в стандартной библиотеке в разделе Python Language
Services.
• После получения списка лексем, его можно
использовать,
например,
для
синтаксической
подсветки кода на языке Python, логического
разбора кода.

5. Лексемы и литералы в Python

• Для того, чтобы необходимый модуль библиотеки
стал доступен для использования в скрипте, его
нужно
сперва
к
нему
подключить,
т.е. импортировать.
• Выполняется
это
при
помощи
ключевого
слова import, после которого через пробел
указывается требуемый модуль.

6. Лексемы и литералы в Python

• Рассмотрим
пример
№1,
в
котором
представлен код простейшей программы,
разбивающей строку с исходным pythonкодом на лексемы и выводящей их на экран

7.

Пример №1. Разложение pythonкода на лексемы.

8.

• Как видим, лексический сканер выделил нам такие
лексемы, как
• # Выводим значения на экран. (комментарий),
• print (ключевое слово),
• my_dict (идентификатор),
• {, :, ] (символы операций),
• 'Версия' (строковый литерал).
• Присутствуют в разборе и разделители в виде
символов новой строки, которые при отображении
на экране добавили нам заметные отступы.
• Что касается термина токен, то это та же самая
лексема, только с указанием ее местонахождения в
исходном коде. Дело в том, что лексические сканеры
обычно выделяют не только сами лексемы, но также
номера строк и столбцов, где каждая лексема
начинается и заканчивается.

9.

• Токен – это набор из лексемы и ее координат в
исходном коде языка программирования.
• Литералы – это простые неименованные
значения некоторого типа данных, написанные
непосредственно в самом коде программы.
В качестве примеров приведем литералы, которые
являются значениями различных типов данных:
вещественное число 3.4,
целое число 5,
комплексное число 5+3j,
строка в двойных кавычках "яблоко",
строка в одинарных кавычках 'две груши',
логические значения True и False,
словарь {1: 1, 'два': 2},
список [1, 2, 3] и т.д.
• Итак, лексемы – это логически неделимые
фрагменты кода, а литералы – обычные
значения в нем.

10. Имена в Python

Идентификаторы – это просто имена (например,
переменных, функций или классов).
В Python идентификаторы чувствительны к регистру
символов, должны начинаться с буквы любого
алфавита в Юникоде или символа подчеркивания (_),
после чего могут следовать любые буквы, цифры или
символы подчеркивания. При этом с цифры имена
начинаться не должны, иначе интерпретатор не
сможет отличить их от чисел.

11. Примерами идентификаторов могут служить: 

Примерами идентификаторов
могут служить:
• b (латинская буква),
• ж (русская буква),
• _b (начинается со знака подчеркивания),
• py_2 (включает цифру),
• _Чаво (начинается со знака подчеркивания и включает русские
буквы, одна из которых заглавная),
• G123 (начинается с заглавной буквы),
• set_name (имя в «змеиной» нотации),
• setName (имя в «верблюжей» нотации),
• ClassName (стиль CapWords) и т.д.
В то же время комбинации символов 15var_1, $Var2 или var 3 не
могут использоваться в качестве идентификаторов, т.к. они
начинаются либо содержат недопустимые символы (третье имя
содержит пробел).

12.

• Также следует помнить про регистр
используемых
символов,
поскольку,
например,
идентификаторы var_1, Var_1 и VAR_1
обозначают
имена
совершенно
разных
переменных или функций, т.к. регистр
символов у них не совпадает.
• Для лучшего восприятия кода следует давать
именам понятные и по возможности краткие
названия, которые бы соответствовали,
например, хранящимся в переменных
данным или же выполняемым функциями
действиям.

13.

Пример №2. Стили записи
идентификаторов.

14. Отступы и точка с запятой в Python

•В
отличие
от
многих
других
языков
программирования
в Python каждая инструкция (команда на
языке Python) обычно отделяется от других не
точкой с запятой (;), а переводом строки.
Общее правило в Python гласит, что конец
строки
автоматически
считается
концом
инструкции, находящейся в этой строке.
• В свою очередь это правило порождает другое,
которое предписывает (за редким исключением)
писать в каждой строке по одной инструкции

15.

Пример №3. Примеры
разделения инструкций в Python.

16.

Другим важным отличием языка Python является то,
что вложенные инструкции одного уровня должны
оформляться одинаковыми отступами от левого края.
Именно по величине отступов интерпретатор
определяет, где заканчивается очередной блок
инструкций и начинается новый. Общий шаблон
оформления составных (вложенных) инструкций
имеет вид:
Основная инструкция:
Вложенный блок инструкций
Неважно, какие отступы мы будем использовать,
главное, чтобы для инструкций одного уровня
вложенности
они
были
одинаковыми
(см.
пример №4). Так это могут быть символы табуляции
или несколько подряд идущих пробелов, но что-то
одно в пределах одного блока инструкций.

17.

Пример №4. Порядок
использования отступов в Python.

18.

Как
и
в
большинстве
других
языков
программирования в Python присутствует условная
инструкция if, которая в общем случае имеет
следующий формат записи:
if <Условие №1>:
<Блок инструкций №1>
elif <Условие №2>:
<Блок инструкций №2>
...
else:
<Запасной блок инструкций>

19.

Пример №5. Запись нескольких
инструкций на одной строке.

20.

• Итак, мы выяснили, что инструкции
в Python следует записывать по одной на
каждой строке.
• При этом использовать точку с запятой не
нужно, т.к. конец строки автоматически
завершает текущую инструкцию.
• Но что, если инструкция получается
слишком длинной и не помещается
полностью на экране? В этом случае можно
расположить ее на нескольких строках,
заключив в зависимости от ситуации в пару
круглых, квадратных или фигурных скобок
(см. пример №6).

21.

Пример №6. Запись одной
инструкции на нескольких
строках.

22.

• Для вывода информации на экран используется
встроенная функция print(), которой через запятую
следует передавать выводимые на экран значения.
• При этом в качестве дополнительных аргументов
функции можно передавать именованные строковые
аргументы sep и end.
• Первый
задает
вид
разделителя
между
выводимыми значениями (по умолчанию это
обычный пробел, т.е. sep=' '), а второй –
символы в конце вывода (по умолчанию это
символ перевода строки, т.е. end='\n').
• В итоге инструкция вывода, например, двух
значений может иметь такой вид: print('один', 'два',
sep=' ', end='\n').

23. Комментарии в Python

Еще одной важной частью синтаксиса любого
языка программирования являются комментарии.
В Python используются только однострочные
комментарии, которые начинаются с символа #.
Комментарии идут только до конца строки и весь
код
после
символа
#
интерпретатором
игнорируется (см. пример №7). При этом принято
записывать комментарии на отдельной строке до
инструкции, а не вставлять их после в той же
строке.

24.

Пример №7. Комментарии в
Python.

25. Форматирование python-кода(подводим итог)

• На каждой строке следует писать по одной инструкции,
не вставляя в конце точку с запятой.
• После основной инструкции должно присутствовать
двоеточие. При этом одинаковые блоки вложенных
инструкций должны отделяться с левой стороны
идентичными отступами. В идеале для этого нужно
использовать по четыре пробела на каждый уровень
вложенности.
• Строки кода по возможности должны полностью
помещаться в видимой области экрана монитора. В
идеале они не должны превышать длины в 79 символов.
Для переноса длинных инструкций на новую строку в
зависимости от ситуации следует использовать круглые,
квадратные или фигурные скобки.

26. Форматирование python-кода(подводим итог)

• В большинстве случаев интерпретатор игнорирует
подряд идущие пробелы и символы табуляции (отступы
сюда не относятся!!!). Поэтому для визуального
разделения
некоторых
лексем
и
повышения
читабельности кода можно смело использовать пробелы
(см. пример №8). Однако при этом желательно
придерживаться устоявшихся стандартов и, например, не
ставить подряд несколько пробелов, а также не
использовать для таких целей символы табуляции.
• Комментарии в исходном коде следует писать на
отдельной строке, а не вместе с инструкцией на одной
строке. При этом принято отделять символ решетки от
текста комментария пробелом, а предложения начинать
с заглавной буквы и завершать точкой.

27.

Пример №8. Примеры
использования пробелов в коде
Python.

28. Самостоятельно:

• Создайте
скрипт,
в
котором
переменным
num
и
s,
присвойте
значения 500 и ' рублей'.
• Затем выведите значения переменных на
экран
при
помощи
функции
print,
использовав в качестве разделителя пустую
строку и завершив вывод двумя символами
перевода строки.
• В конце скрипта напишите комментарий
«Символ = в программировании означает
присвоить, а не равно!».

29. Домашнее задание:

• Создайте переменные для хранения вашего
имени, возраста и любимого цвета.
• Выведите их на экран.
English     Русский Правила