Главная » Просмотр файлов » М. Лутц - Изучаем Python (4-е издание)- 2011

М. Лутц - Изучаем Python (4-е издание)- 2011 (1126907), страница 32

Файл №1126907 М. Лутц - Изучаем Python (4-е издание)- 2011 (М. Лутц - Изучаем Python (4-е издание)- 2011) 32 страницаМ. Лутц - Изучаем Python (4-е издание)- 2011 (1126907) страница 322019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 32)

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

Фактически если у вас нет потребности в специальных видах обработки,которые не обеспечиваются встроенными типами объектов, вам всегда лучше использовать встроенные объекты вместо реализации своих собственных.И вот почему:•• Встроенные объекты упрощают создание программ. Для решения простых задач часто вполне достаточно встроенных типов для представленияструктур данных предметной области.

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

Например, структура данных типа стекможет быть реализована как класс, основанный на использовании списков.•• Встроенные объекты часто более эффективны, чем созданные вручнуюструктуры данных. Встроенные типы языка Python используют уже оптимизированные структуры данных, реализованные на языке C для достижения высокой производительности. Вы можете сами создавать подобныетипы объектов, но вам придется приложить немало усилий, чтобы достичьскорости, которая обеспечивается встроенными типами объектов.•• Встроенные объекты – это стандартная часть языка. В определенной степени Python многое заимствует как из языков, полагающихся на использование встроенных инструментальных средств (таких как LISP), так и полагающихся на мастерство программиста, который должен выполнить собственную реализацию инструментов и структур данных (таких как C++).В языке Python вы можете создавать собственные типы объектов, но в самом начале делать это не рекомендуется. Более того, из-за того, что встроенные компоненты являются стандартными составляющими языка Python,они всегда остаются неизменными, тогда как собственные структуры имеют свойство изменяться от случая к случаю.123Зачем нужны встроенные типы?Другими словами, встроенные типы объектов не только упрощают процесспрограммирования, но они обладают большей эффективностью и производительностью, чем большинство типов, созданных вручную.

Даже если вы создаете собственные типы объектов, встроенные объекты будут ядром любойпрограммы на Python.Базовые типы данных в языке PythonВ табл. 4.1 представлены некоторые встроенные типы объектов языка Pythonи некоторые синтаксические конструкции использования этих объектов в виделитералов – то есть выражения, которые генерируют эти объекты.1 Некоторыеиз этих типов наверняка покажутся вам знакомыми, если ранее вам приходилось работать с другими языками программирования. Например, числа и строки представляют числовые и текстовые значения соответственно, а файлы обеспечивают интерфейс для работы с файлами, хранящимися в компьютере.Таблица 4.1.

Некоторые встроенные объектыТип объектаПример литерала/созданияЧисла1234, 3.1415, 3+4j, Decimal, FractionСтроки‘spam’, “guido’s” , b’a\x01c’Списки[1, [2, ‘three’], 4]Словари{‘food’: ‘spam’, ‘taste’: ‘yum’}Кортежи(1,’spam’, 4, ‘U’)Файлыmyfile = open(‘eggs’, ‘r’)Множестваset(‘abc’), {‘a’, ‘b’, ‘c’}Прочие базовые типыСами типы, None, логические значенияТипы структурных элементовпрограммФункции, модули, классы (часть IV,часть V, часть VI)Типы, имеющие отношениек реализацииКомпилированный программный код,стек вызовов (часть IV, часть VII)Таблица 4.1 содержит далеко не полный список, потому что объектами являются все данные, которые приходится обрабатывать в программах на языкеPython. Например, когда на языке Python реализуется поиск текста по шаблону, – создаются объекты шаблонов, когда программируются сетевые взаимодействия, – используются объекты сокетов. Существуют и другие типы объектов, которые создаются в результате импорта и использования модулей, и всеони обладают своим собственным поведением.1В этой книге под термином литерал подразумевается выражение, создающее объект, которое иногда также называется константой.

Следует иметь в виду, что термин «константа» не означает объекты и переменные, которые никогда не изменяются (то есть этот термин никак не связан с директивой const языка C++ или с понятием«неизменяемый» («immutable») в языке Python, – эта тема будет рассматриватьсяниже, в разделе «Неизменяемость»).124Глава 4. Введение в типы объектов языка PythonВ следующих частях книги вы узнаете, что структурные элементы программ,такие как функции, модули и классы, также являются объектами в языке Python – они создаются с помощью инструкций и выражений, таких какdef, class, import и lambda, и могут свободно передаваться между различнымичастями сценариев, сохраняться в других объектах и так далее. Кроме того,в языке Python имеется множество типов, имеющих отношение к реализации,таких как объекты с компилированным программным кодом, – они представляют интерес скорее для разработчиков инструментов, чем для прикладныхпрограммистов.

Все эти типы также будут рассматриваться в последующихчастях книги.Типы объектов, перечисленные в табл. 4.1, обычно называют базовыми, потому что они встроены непосредственно в язык Python, то есть для созданиябольшинства из них используется вполне определенный синтаксис. Например,когда выполняется следующий программный код:>>> ‘spam’то, говоря техническим языком, выполняется выражение-литерал, которое генерирует и возвращает новый строковый объект. Такова специфика синтаксиса Python создания этого объекта. Похожим образом выражение, заключенноев квадратные скобки, создает список, заключенное в фигурные скобки – словарь и так далее.

Хотя, как вы сможете убедиться, в языке Python отсутствуетконструкция объявления типа, сам синтаксис выполняемых выражений задает типы создаваемых и используемых объектов. Фактически выражения, создающие объекты, подобные тем, что представлены в табл. 4.1, в языке Pythonявляются источниками типов.Не менее важно отметить, что как только будет создан объект, он будет ассоциирован со своим собственным набором операций на протяжении всего времени существования – над строками можно будет выполнять только строковыеоперации, над списками – только операции, применимые к спискам. Как выузнаете далее, в языке Python используется динамическая типизация (типыданных определяются автоматически и их не требуется объявлять в программном коде), но при этом он является языком со строгой типизацией (вы сможетевыполнять над объектом только те операции, которые применимы к его типу).Функционально типы объектов, представленные в табл. 4.1, являются болееуниверсальными и более эффективными, чем может показаться.

Например,вы узнаете, что списки и словари являются достаточно мощными средствамипредставления данных, обеспечивающими поддержку коллекций и функцийпоиска, которые в низкоуровневых языках программирования приходится реализовывать вручную. Говоря коротко, списки обеспечивают поддержку упорядоченных коллекций других объектов, а словари реализуют возможностьхранения объектов по ключам. И списки, и словари могут быть вложенными,по мере необходимости увеличиваться и уменьшаться в размерах и содержатьобъекты любых типов.В последующих главах мы подробно изучим каждый из типов объектов, перечисленных в табл. 4.1.

Но прежде чем углубляться в детали, давайте познакомимся с базовыми типами объектов Python в действии. Оставшаяся частьглавы представляет собой обзор операций, которые мы более подробно будемисследовать в последующих главах. Не следует надеяться, что в этой главебудут даны исчерпывающие объяснения, поскольку основная ее цель состоит125Числав том, чтобы разжечь ваш аппетит и представить некоторые базовые идеи. Однако лучший способ что-то начать – это просто начать, поэтому перейдем сразук программному коду.ЧислаЕсли в прошлом вам приходилось заниматься программированием, некоторыетипы объектов из табл. 4.1 скорее всего покажутся вам знакомыми. Но дажеесли это не так, числа являются чрезвычайно простым понятием.

Базовый набор объектов языка Python включает в себя вполне ожидаемые типы: целыечисла (числа без дробной части), вещественные числа (грубо говоря, числа с десятичной точкой) и более экзотические типы (комплексные числа с мнимойчастью, числа с фиксированной точностью, рациональные числа, представленные парой целых чисел, – числитель и знаменатель дроби, и множества).Несмотря на наличие некоторых необычных типов, базовые числовые типыв языке Python действительно являются базовыми.

Характеристики

Тип файла
PDF-файл
Размер
12,21 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее