Язык программирования Python
116.88K
Category: programmingprogramming

Язык программирования Python. Разработка языка Python

1. Язык программирования Python

ЯЗЫК ПРОГРАММИРОВАНИЯ
PYTHON

2.

Разработка языка Python была начата в
конце
1980-х
годов
сотрудником
голландского института CWI (Центр
математики и информатики, голл. Centrum
Wiskunde & Informatica) Гвидо ван
Россумом (англ. Guido van Rossum), на
основе языка ABC. В феврале 1991 года
Гвидо опубликовал исходный текст в
группе новостей alt.sources.
Гвидо ван Россум на конференции в 2006 г

3.

Развитие языка происходит согласно четко регламентированному
процессу создания, обсуждения, отбора и реализации документов
PEP (Python Enhancement Proposal) — предложений по развитию
Python.
В 2008 году, после длительного тестирования, вышла первая
версия Python 3000 (или Python 3.0, также используется
сокращение Py3k). В Python 3.0 устранены многие недостатки
архитектуры с максимально возможным (но не полным)
сохранением совместимости со старыми версиями Python. На
сегодня поддерживаются обе ветви развития (Python 3.x и 2.x)
(сравнение и рекомендации), однако получать новый функционал
будет только версия 3

4.

Особенности Python
Характеристика
Автор
Официальный сайт
Год создания
Значение
Класс языка
Императивный, функциональный, объектноориентированный
Тип исполнения
Расширения файлов
Кодировка по умолчанию
Интерпретируемый, компилируемый в байт-код
Основные реализации
CPython (эталонная реализация), Jython, IronPython
и др.
Операционная система
Лицензия
Кроссплатформенное ПО
Гвидо ван Россум и Python Software Foundation
http://www.python.org/
1991
.py, .pyc и др.
UTF-8
Python Software Foundation License

5.

Структура Python-программ
Лексическая структура
Любая Python-программа состоит из последовательности лексем (допустимых
символов), записанных в определенном порядке и по определенным правилам.
Лексемы включают в себя:
комментарии;
литералы;
знаки пунктуации;
идентификаторы;
ключевые слова.

6.

Комментарии
Комментарии предназначены для пояснения кода для разработчика (Python
их пропускает) и начинаются с символа #, действуя до конца строки
Листинг 1 - Пример комментариев¶
# Вся эта строка является комментарием
x = 5 # Это inline-комментарий (отступ 2 пробела)
y = '#Это строка' # А это комментарий
Комментарии должны объяснять, почему что-то реализовано именно так и
объяснять:
предположения, важные решения, важные детали;
проблемы, которые решает код;
проблемы, которых необходимо избежать и т.д.

7.

Литералы
Литералы - значения, представленные в коде программы, например, числа
или строки .
Листинг - Пример литералов¶
5
# Целочисленный литерал
3.4
# Литерал в виде числа с плавающей точкой
'строка' # Строковый литерал
Знаки пунктуации
В алфавит Python входит некоторое количество знаков пунктуации,
которые используются для различных целей. Например, знаки + или *
могут использоваться для сложения и умножения, а знак запятой , - для
разделения параметров функций.

8.

Идентификатор - обычное имя, которое дается ссылке на какой-либо объект.
Любой идентификатор имеет некоторые правила и соглашения наименования:
правила:
может состоять из букв (ASCII или Unicode), знаков подчеркивания _
или цифр 0-9;
цифра не может быть на первом месте;
чувствителен к регистру: UserName, username и USERNAME - разные
идентификаторы;
не должен совпадать с каким-либо из ключевых слов языка Python;
соглашения:
использовать змеиный_регистр (англ. snake_case): customer_account;
не использовать предопределенные имена;
не использовать 2 знака подчеркивания __ в начале и конце, и _ или __
в начале идентификатора; данный синтаксис имеет специальное
назначение.

9.

Некоторые предопределенные имена в Python¶
# В языке Python имеется встроенная функция dir(), которая
# возвращает список атрибутов объекта. Если эта функция вызывается
# без аргументов, она возвращает список встроенных атрибутов
>>> dir()
['__builtins__', '__doc__', '__name__']
# Атрибут builtins в действительности является модулем, в котором
# определены все встроенные атрибуты языка Python. Его можно
# использовать в качестве аргумента функции dir():
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError',
...
'sum', 'super', 'tuple', 'type', 'vars', 'zip']

10.

Примеры имен идентификаторов:
Допустимые
i
my_name
name_23
a1b2_c3
#любые_символы_utf8_üöä
ß
Недопустимые
2things
здесь есть пробелы
>a1b2_c3
"это_в_кавычках"

11.

Ключевые слова
Некоторые слова имеют в Python специальное назначение и
представляют собой управляющие конструкции языка. Список
ключевых слов приведен в Листинге.
Листинг - Ключевые слова в Python
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass',
'raise', 'return', 'try', 'while', 'with', 'yield']

12.

Синтаксическая структура
Для составления программы необходимо объединить лексемы в синтаксические конструкции. Примеры конструкций
приведены в Листинге. - Примеры синтаксических конструкций в Python¶
Листинг # 1. Простейшие синтаксические конструкции - литералы
# простые
5 # Литерал - целое число
'это строка' # Литерал - строка
# составные
[1, 2, 3] # Литерал - список чисел
# с использованием знаков операций
x = 1 # Присваивание
y += 1 # Увеличение на 1
# 2. Операторы
if x > 10: # Если выражение истинно
x += 1 # Увеличить x на 1

13.

Структура файла и кодировка программы
Программный код на языке Python можно записать в любом простом текстовом
редакторе, который способен загружать и сохранять текст либо в кодировке ASCII, либо
UTF-8. По умолчанию предполагается, что файлы с программным кодом на языке Python
сохраняются в кодировке UTF-8 - надмножестве кодировки ASCII, с помощью которой
можно представить практически любой символ любого национального алфавита. Файлы с
программным кодом на языке Python обычно имеют расширение .ру.
В начале файла также допускается, но не рекомендуется указывать отдельной строкой
кодировку отличную от UTF-8, например # coding: cp-1251.
Не рекомендуется также делать размер строки кода больше 80 символов (такую
программу удобно просматривать и при необходимости распечатать - в большинстве
редакторов для этого специально предусмотрена визуальная вертикальная полоса). Если
строка все же не умещается в это ограничение, необходимо выполнить перенос строки

14.

Перенос длинной строки в Python¶
# Для переноса строки используется обратный слеш \
# Это указывает на явный перенос строки
>>> "Это строка, " \
... "а это ее продолжение"
'Это строка, а это ее продолжение'
# При этом, если была открыта какая-либо скобка ( [ {,
# обратный слеш при переносе можно не ставить - Python поймет все сам
>>> a = [1, 2, 3,
... 4, 5, 6, 7, 8, 9, 10]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

15.

Также следует соблюдать PEP 8:
использовать отступ в 4 пробела, а не табуляцию;
когда возможно, оставлять комментарии в отдельной строке;
использовать пробелы вокруг операторов и после запятой, но не
непосредственно внутри конструкции скобок:
a = f(1, 2) + g(3, 4)
не использовать редкие кодировки и не-ASCII символы в идентификаторах,
если есть шанс, что люди, говорящие на другом языке, будут читать или
поддерживать код.
English     Русский Rules