Роман Сузи - Язык программирования Python
- Название:Язык программирования Python
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Роман Сузи - Язык программирования Python краткое содержание
Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования — Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно–ориентированное программирование, функциональное программирование, событийно–управляемые программы (GUI–приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.
Язык программирования Python - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
>>> 008
File "", line 1
008
^
SyntaxError: invalid token
Тип float
Соответствует C–типу doubleдля используемой архитектуры. Записывается вполне традиционным способом либо через точку, либо в нотации с экспонентой:
>>> pi = 3.1415926535897931
>>> pi ** 40
7.6912142205156999e+19
Кроме арифметических операций, можно использовать операции из модуля math.
Для финансовых расчетов лучше применять более подходящий тип.
Из полезных встроенных функций можно вспомнить round(), abs().
Тип complex
Литерал мнимой части задается добавлением jв качестве суффикса (перемножаются мнимые единицы):
>>> -1j * -1j
(-1–0j)
Тип реализован на базе вещественного. Кроме арифметических операций, можно использовать операции из модуля cmath.
Тип bool
Подтип целочисленного типа для «канонического» обозначения логических величин. Два значения: True(истина) и False(ложь) — вот и все, что принадлежит этому типу. Как уже говорилось, любой объект Python имеет истинностное значение, логические операции можно проиллюстрировать с помощью логического типа:
>>> for i in (False, True):
... for j in (False, True):
... print i, j, ":", i and j, i or j, not i
...
...
False False : False False True
False True : False True True
True False : False True False
True True : True True False
Следует отметить, что Python даже не вычисляет второй операнд операции andили or, если ее исход ясен по первому операнду. Таким образом, если первый операнд истинен, он и возвращается как результат or, в противном случае возвращается второй операнд. Для операции andвсе аналогично.
Тип string и тип unicode
В Python строки бывают двух типов: обычные и Unicode–строки. Фактически строка — это последовательность символов (в случае обычных строк можно сказать «последовательность байтов»). Строки–константы можно задать в программе с помощью строковых литералов. Для литералов наравне используются как апострофы ( '), так и обычные двойные кавычки ( "). Для многострочных литералов можно использовать утроенные апострофы или утроенные кавычки. Управляющие последовательности внутри строковых литералов задаются обратной косой чертой ( \). Примеры написания строковых литералов:
s1 = "строка1"
s2 = 'строка2\nс переводом строки внутри'
s3 = """строка3
с переводом строки внутри"""
u1 = u'\u043f\u0440\u0438\u0432\u0435\u0442' # привет
u2 = u'Еще пример' # не забудьте про coding!
Для строк имеется еще одна разновидность: необработанныестроковые литералы. В этих литералах обратная косая черта и следующие за ней символы не интерпретируются как спецсимволы, а вставляются в строку «как есть»:
my_re = r"(\d)=\1"
Обычно такие строки требуются для записи регулярных выражений (о них пойдет речь в лекции, посвященной обработке текстовой информации).
Набор операций над строками включает конкатенацию« +», повтор" *", форматирование" %". Также строки имеют большое количество методов, некоторые из которых приведены ниже. Полный набор методов (и их необязательных аргументов) можно получить в документации по Python.
>>> "A" + "B"
'AB'
>>> "A"*10
'AAAAAAAAAA'
>>> "%s %i" % ("abc", 12)
'abc 12'
Некоторые методы строковых объектов будут рассмотрены в лекции, посвященной обработке текстов.
Тип tuple
Для представления константной последовательности (разнородных) объектов используется тип кортеж. Литерал кортежа обычно записывается в круглых скобках, но можно, если не возникают неоднозначности, писать и без них. Примеры записи кортежей:
p = (1.2, 3.4, 0.9) # точка в трехмерном пространстве
for s in "one", "two", "three": # цикл по значениям кортежа
print s
one_item = (1,)
empty = ()
p1 = 1, 3, 9 # без скобок
p2 = 3, 8, 5, # запятая в конце игнорируется
Использовать синтаксис кортежей можно и в левой части оператора присваивания. В этом случае на основе вычисленных справа значений формируется кортеж и связывается один в один с именами в левой части. Поэтому обмен значениями записывается очень изящно:
a, b = b, a
Тип list
В «чистом» Python нет массивов с произвольным типом элемента. Вместо них используются списки. Их можно задать с помощью литералов, записываемых в квадратных скобках, или посредством списковых включений. Варианты задания списка приведены ниже:
lst1 = [1, 2, 3,]
lst2 = [x**2 for x in range(10) if x % 2 == 1]
lst3 = list("abcde")
Для работы со списками существует несколько методов, дополнительных к тем, что имеют неизменчивые последовательности. Все они связаны с изменением списка.
Последовательности
Ниже обобщены основные методы последовательностей. Следует напомнить, что последовательности бывают неизменчивыми и изменчивыми. У последних методов чуть больше.
| Синтаксис | Семантика |
|---|---|
len(s) |
Длина последовательности s |
x in s |
Проверка принадлежности элемента последовательности. В новых версиях Python можно проверять принадлежность подстроки строке. Возвращает Trueили False |
x not in s |
= not x in s |
s + s1 |
Конкатенация последовательностей |
s*nили n*s |
Последовательность из nраз повторенной s. Если n < 0, возвращается пустая последовательность. |
s[i] |
Возвращает i–й элемент sили len(s)+i–й, если i< 0 |
s[i:j:d] |
Срез из последовательности sот iдо jс шагом dбудет рассматриваться ниже |
min(s) |
Наименьший элемент s |
max(s) |
Наибольший элемент s |
Дополнительные конструкции для изменчивых последовательностей:
s[i] = x |
i–й элемент списка sзаменяется на x |
s[i:j:d] = t |
Срез от iдо j(с шагом d) заменяется на (список) t |
del s[i:j:d] |
Удаление элементов среза из последовательности |
В таблице приведен ряд методов изменчивых последовательностей (например, списков).
| Метод | Описание |
|---|---|
append(x) |
Добавляет элемент в конец последовательности |
count(x) |
Считает количество элементов, равных x |
extend(s) |
Добавляет к концу последовательности последовательность |
index(x) |
Возвращает наименьшее i, такое, что s[i] == x. Возбуждает исключение ValueError, если xне найден в s |
insert(i, x) |
Вставляет элемент xв i–й промежуток |
pop(i) |
Возвращает i–й элемент, удаляя его из последовательности |
reverse() |
Меняет порядок элементов sна обратный |
sort([cmpfunc]) |
Сортирует элементы s. Может быть указана своя функция сравнения cmpfunc |
Здесь же следует сказать несколько слов об индексировании последовательностей и выделении подстрок (и вообще — подпоследовательностей) по индексам. Для получения отдельного элемента последовательности используются квадратные скобки, в которых стоит выражение, дающее индекс. Индексы последовательностей в Python начинаются с нуля. Отрицательные индексы служат для отсчета элементов с конца последовательности ( -1— последний элемент). Пример проясняет дело:
Интервал:
Закладка: