LibKing » Книги » comp-programming » Роман Сузи - Язык программирования Python

Роман Сузи - Язык программирования Python

Тут можно читать онлайн Роман Сузи - Язык программирования Python - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Язык программирования Python
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.37/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Роман Сузи - Язык программирования Python краткое содержание

Язык программирования Python - описание и краткое содержание, автор Роман Сузи, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования — Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно–ориентированное программирование, функциональное программирование, событийно–управляемые программы (GUI–приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.

Язык программирования Python - читать онлайн бесплатно ознакомительный отрывок

Язык программирования Python - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Роман Сузи
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

В современных программах передача управления происходит не всегда так гладко, как в описанных выше конструкциях. Для обработки особых ситуаций (таких как деление на ноль или попытка чтения из несуществующего файла) применяется механизм исключений. Лучше всего пояснить синтаксис оператора try–exceptследующим примером:

try:

res = int(open('a.txt').read())/int(open('c.txt').read())

print res

except IOError:

print "Ошибка ввода–вывода"

except ZeroDivisionError:

print "Деление на 0"

except KeyboardInterrupt:

print "Прерывание с клавиатуры"

except:

print "Ошибка"

В этом примере берутся числа из двух файлов и делятся одно на другое. В результате этих нехитрых действий может возникнуть несколько исключительных ситуаций, некоторые из них отмечены в частях except(здесь использованы стандартные встроенные исключения Python). Последняя часть exceptв этом примере улавливает все другие исключения, которые не были пойманы выше. Например, если хотя бы в одном из файлов находится нечисловое значение, функция int()возбудит исключение ValueError. Его–то и сможет отловить последняя часть except. Разумеется, выполнение части tryв случае возникновения ошибки уже не продолжается после выполнения одной из частей except.

В отличие от других языков программирования, в Python исключения нередко служат для упрощения алгоритмов. Записывая оператор try–except, программист может думать так: «попробую, а если сорвется — выполнится код в except». Особенно часто это используется для выражений, в которых значение получается по ключу из отображения:

try:

value = dict[key]

except:

value = default_value

Вместо

if dict.has_key(key):

value = dict[key]

else:

value = default_value

Примечание:

Пример уже несколько устаревшей идиомы языка Python иллюстрирует только дух этого подхода: в современном Python лучше записать так value = dict.get(key, default_value).

Исключения можно возбуждать и из программы. Для этого служит оператор raise. Заодно следующий пример показывает канонический способ определения собственного исключения:

class MyError(Exception):

pass

try:

...

raise MyError, "my error 1"

...

except MyError, x:

print "Ошибка:", x

Кстати, все исключения выстроены в иерархию классов, поэтому ZeroDivisionErrorможет быть поймана как ArithmeticError, если соответствующая часть exceptбудет идти раньше.

Для утвержденийприменяется специальный оператор assert. Он возбуждает AssertionError, если заданное в нем условие неверно. Этот оператор используют для самопроверки программы. В оптимизированном коде он не выполняется, поэтому строить на нем логику алгоритма нельзя. Пример:

c = a + b

assert c == a + b

Кроме описанной формы оператора, есть еще форма try–finallyдля гарантированного выполнения некоторых действий при передаче управления изнутри оператора try–finallyвовне. Он может применяться для освобождения занятых ресурсов, что требует обязательного выполнения, независимо от произошедших внутри катаклизмов:

try:

...

finally:

print "Обработка гарантированно завершена"

Смешивать вместе формы try–exceptи try–finallyнельзя.

Встроенные типы данных

Как уже говорилось, все данные в Python представлены объектами. Имена являются лишь ссылками на эти объекты и не несут нагрузки по декларации типа. Значения встроенных типов имеют специальную поддержку в синтаксисе языка: можно записать литералстроки, числа, списка, кортежа, словаря (и их разновидностей). Синтаксическую же поддержку операций над встроенными типами можно легко сделать доступной и для объектов определяемых пользователей классов.

Следует также отметить, что объекты могут быть неизменчивымии изменчивыми. Например, строки в Python являются неизменчивыми, поэтому операции над строками создают новые строки.

Карта встроенных типов (с именами функций для приведения к нужному типу и именами классов для наследования от этих типов):

• специальные типы: None, NotImplementedи Ellipsis;

• числа;

○ целые

• обычное целое int

• целое произвольной точности long

• логический bool

○ число с плавающей точкой float

○ комплексное число complex

• последовательности;

○ неизменчивые:

• строка str;

• Unicode–строка unicode;

• кортеж tuple;

○ изменчивые:

• список list;

• отображения:

○ словарь dict

• объекты, которые можно вызвать:

○ функции (пользовательские и встроенные);

○ функции–генераторы;

○ методы (пользовательские и встроенные);

○ классы (новые и «классические»);

○ экземпляры классов (если имеют метод __call__);

• модули;

• классы (см. выше);

• экземпляры классов (см. выше);

• файлы file;

• вспомогательные типы buffer, slice.

Узнать тип любого объекта можно с помощью встроенной функции type().

Тип int и long

Два типа: int(целые числа) и long(целые произвольной точности) служат моделью для представления целых чисел. Первый соответствует типу longв компиляторе C для используемой архитектуры. Числовые литералы можно записать в системах счисления с основанием 8, 10 или 16:

# В этих литералах записано число 10

print 10, 012, 0xA, 10L

Набор операций над числами — достаточно стандартный как по семантике, так и по обозначениям:

>>> print 1 + 1, 3 — 2, 2*2, 7/4, 5%3

2 1 4 1 2

>>> print 2L ** 1000

107150860718626732094842504906000181056140481170553360744375038

837035105112493612249319837881569585812759467291755314682518714

528569231404359845775746985748039345677748242309854210746050623

711418779541821530464749835819412673987675591655439460770629145

71196477686542167660429831652624386837205668069376

>>> print 3 < 4 < 6, 3 >= 5, 4 == 4, 4 != 4 # сравнения

True False True False

>>> print 1 << 8, 4 >> 2, ~4 # побитовые сдвиги и инверсия

256 1–5

>>> for i, j in (0, 0), (0, 1), (1, 0), (1, 1):

... print i, j, ":", i & j, i | j, i ^ j # побитовые операции

...

0 0 : 0 0 0

0 1 : 0 1 1

1 0 : 0 1 1

1 1 : 1 1 0

Значения типа intдолжны покрывать диапазон от–2147483648 до 2147483647, а точность целых произвольной точности зависит от объема доступной памяти.

Стоит заметить, что если в результате операции получается значение, выходящее за рамки допустимого, тип intможет быть неявно преобразован в long:

>>> type(-2147483648)

>>> type(-2147483649)

Также нужно быть осторожным при записи констант. Нули в начале числа — признак восьмеричной системы счисления, в которой нет цифры 8:

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Роман Сузи читать все книги автора по порядку

Роман Сузи - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Язык программирования Python, автор: Роман Сузи. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img