Роман Сузи - Язык программирования Python
- Название:Язык программирования Python
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Роман Сузи - Язык программирования Python краткое содержание
Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования — Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно–ориентированное программирование, функциональное программирование, событийно–управляемые программы (GUI–приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.
Язык программирования Python - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Сервисы периода выполнения
Модуль sys содержит информацию о среде выполнения программы, об интерпретаторе Python. Далее будут представлены наиболее популярные объекты из этого модуля: остальное можно изучить по документации.
exit([c]) |
Выход из программы. Можно передать числовой код завершения: 0 в случае успешного завершения, другие числа при аварийном завершении программы. |
argv |
Список аргументов командной строки. Обычно sys.argv[0] содержит имя запущенной программы, а остальные параметры передаются из командной строки. |
platform |
Платформа, на которой работает интерпретатор. |
stdin , stdout , stderr |
Стандартный ввод, вывод, вывод ошибок. Открытые файловые объекты. |
version |
Версия интерпретатора. |
setrecursionlimit(limit) |
Установка уровня максимальной вложенности рекурсивных вызовов. |
exc_info() |
Информация об обрабатываемом исключении. |
Этот модуль содержит функции для копирования объектов. Вначале предлагается к рассмотрению «парадокс», который вводит в замешательство новичков в Python:
lst1 = [0, 0, 0]
lst = [lst1] * 3
print lst
lst[0][1] = 1
print lst
В результате получается, возможно, не то, что ожидалось:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
Дело в том, что список lst
содержит ссылки на один и тот же список! Для того чтобы действительно размножить список, необходимо применить функцию copy()
из модуля copy
:
from copy import copy
lst1 = [0, 0, 0]
lst = [copy(lst1) for i in range(3)]
print lst
lst[0][1] = 1
print lst
Теперь результат тот, который ожидался:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 1, 0], [0, 0, 0], [0, 0, 0]]
В модуле copy
есть еще и функция deepcopy()
для глубокого копирования, при которой объекты копируются на всю возможную глубину, рекурсивно.
В этих модулях собраны математические функции для действительных и комплексных аргументов. Это те же функции, что используются в языке C. В таблице ниже даны функции модуля math
. Там, где аргумент обозначен буквой z
, аналогичная функция определена и в модуле cmath
.
Функция или константа | Описание |
---|---|
acos(z) |
арккосинус z |
asin(z) |
арксинус z |
atan(z) |
арктангенс z |
atan2(y,x) |
atan(y/x) |
ceil(x) |
наименьшее целое, большее или равное x |
cos(z) |
косинус z |
cosh(x) |
гиперболический косинус x |
e |
константа e |
exp(z) |
экспонента (то есть, e**z ) |
fabs(x) |
абсолютное значение x |
floor(x) |
наибольшее целое, меньшее или равное x |
fmod(x,y) |
остаток от деления x на y |
frexp(x) |
возвращает мантиссу и порядок x как пару (m, i) , где m — число с плавающей точкой, а i — целое, такое, что x = m * 2.**i . Если 0 , возвращает (0,0) , иначе 0.5 <= abs(m) < 1.0 |
hypot(x,y) |
sqrt(x*x + y*y) |
ldexp(m,i) |
m * (2**i) |
log(z) |
натуральный логарифм z |
log10(z) |
десятичный логарифм z |
modf(x) |
возвращает пару (y,q) — целую и дробную часть x . Обе части имеют знак исходного числа |
pi |
константа π |
pow(x,y) |
x**y |
sin(z) |
синус z |
sinh(z) |
гиперболический синус z |
sqrt(z) |
корень квадратный от z |
tan(z) |
тангенс z |
tanh(z) |
гиперболический тангенс z |
Этот модуль генерирует псевдослучайные числа для нескольких различных распределений. Наиболее используемые функции:
random() |
Генерирует псевдослучайное число из полуоткрытого диапазона [0.0, 1.0) . |
choice(s) |
Выбирает случайный элемент из последовательности s . |
shuffle(s) |
Размешивает элементы изменчивой последовательности s на месте. |
randrange([start,] stop[, step]) |
Выдает случайное целое число из диапазона range(start, stop, step) . Аналогично choice(range(start, stop, step)) . |
normalvariate(mu, sigma) |
Выдает число из последовательности нормально распределенных псевдослучайных чисел. Здесь mu — среднее, sigma — среднеквадратическое отклонение ( sigma > 0 ) |
Остальные функции и их параметры можно уточнить по документации. Следует отметить, что в модуле есть функция seed(n)
, которая позволяет установить генератор случайных чисел в некоторое состояние. Например, если возникнет необходимость многократного использования одной и той же последовательности псевдослучайных чисел.
Этот модуль дает функции для получения текущего времени и преобразования форматов времени.
Модуль реализует тип данных для множеств. Следующий пример показывает, как использовать этот модуль. Следует заметить, что в Python 2.4 и старше тип set
стал встроенным, и вместо sets.Set
можно использовать set
:
import sets
A = sets.Set([1, 2, 3])
B = sets.Set([2, 3, 4])
print A | B, A & B, A — B, A ^ B
for i in A:
if i in B:
print i,
В результате будет выведено:
Set([1, 2, 3, 4]) Set([2, 3]) Set([1]) Set([1, 4])
2 3
Эти модули реализуют низкоуровневый массив и структуру данных. Основное их назначение — разбор двоичных форматов данных.
Этот модуль содержит набор функций для работы с итераторами. Итераторы позволяют работать с данными последовательно, как если бы они получались в цикле. Альтернативный подход — использование списков для хранения промежуточных результатов — требует подчас большого количества памяти, тогда как использование итераторов позволяет получать значения на момент, когда они действительно требуются для дальнейших вычислений. Итераторы будут рассмотрены более подробно в лекции по функциональному программированию.
Модуль locale применяется для работы с культурной средой. В конкретной культурной среде могут использоваться свои правила для написания чисел, валют, времени и даты и т.п. Следующий пример выводит дату сначала в культурной среде «C», а затем на русском языке:
import time, locale
locale.setlocale(locale.LC_ALL, None)
Интервал:
Закладка: