Вопросы о Python

Python


1. Назовите шесть основных причин, по которым программисты выбирают Python?
Качество программного обеспечения, скорость разработки, переносимость программ, библиотеки поддержки, интеграция компонентов и просто удовольствие. Из этих шести причин качество и скорость разработки являются наиболее существенными при выборе Python.

2. Почему бы вы не хотели использовать Python в приложениях?
Основным недостатком Python является невысокая производительность, программы на языке Python не могут выполняться так же быстро, как программы на полностью компилируемых языках, таких как C и С++. С другой стороны, для большинства применений он обладает достаточно высокой скоростью выполнения и обычно программный код на языке Python работает со скоростью, близкой к скорости языка C, потому что интерпретатор вызывает встроенный в него программный код, написанный на языке C. Если скорость выполнения имеет критическое значение, отдельные части приложения можно реализовать на языке C, в виде расширений.

3. Какие задачи можно решать с помощью Python?
Вы можете использовать Python для любых задач, которые можно решить с помощью компьютера, – от реализации веб-сайта и игровых программ до управления роботами и космическими кораблями.

4. Что такое интерпретатор Python?
Интерпретатор Python – это программа, которая выполняет программы на языке Python.

5. Что такое исходный программный код?
Исходный программный код – это инструкции, составляющие программу. Он состоит из текста в текстовых файлах, имена которых обычно имеют расширение .py.

6. Что такое байт-код?
Байт-код – это низкоуровневое представление программы после ее компиляции. Python автоматически сохраняет полученный байт-код в файлах с расширением .pyc.

7. Что такое PVM?
Python Virtual Machine (виртуальная машина Python) – механизм Python, который интерпретирует компилированный программный код.

8. В чем заключаются различия между CPython, Jython и IronPython?
CPython – это стандартная реализация языка. Jython и IronPython реализуют поддержку программирования на языке Python в среде Java и .NET соответственно; они являются альтернативными компиляторами языка Python.

9. Назовите четыре базовых типа данных в языке Python.
К базовым типам объектов (данных) относятся числа, строки, списки, словари, кортежи, файлы и множества. Cами типы, None и логические значения также иногда относят к базовым типам. Существует несколько типов чисел (целые, вещественные, комплексные, рациональные и фиксированной точности) и несколько типов строк (обычные и в кодировке Юникод – в Python 2.X; текстовые строки и строки байтов – в Python 3.0).

10. Почему они называются базовыми?
Базовыми типами они называются потому, что являются частью самого языка Python и могут быть использованы в любой момент. Чтобы создать объект какого-либо другого типа, обычно бывает необходимо обращаться к функции из импортированного модуля. Для большинства базовых типов предусмотрен специальный синтаксис создания объектов, например ‘spam’, - это выражение, создающее строку и определяющее набор операций, которые могут применяться к ней. Вследствие этого базовые типы жестко вшиты в синтаксис языка Python. Единственное отличие – объекты-файлы, для создания которых необходимо вызывать функцию open.

11. Что означает термин «неизменяемый» и какие три базовых типа языка Python являются неизменяемыми?
«Неизменяемый» объект – это объект, который невозможно изменить после того, как он будет создан. К этой категории объектов относятся числа, строки и кортежи. Но даже при том, что вы не можете изменить «неизменяемый» объект на месте, вы всегда можете создать вместо него новый объект, выполнив выражение.

12. Что означает термин «последовательность», и какие три типа относятся к этой категории?
«Последовательность» – это упорядоченная по местоположению коллекция объектов. К последовательностям относятся строки, списки и кортежи. Ко всем этим типам могут применяться операции, общие для всех последовательностей, такие как обращение к элементам по их индексам, конкатенация и получение срезов. Но помимо этого каждый из этих типов имеет ряд специфичных методов.

13. Что означает термин «отображение» и какой базовый тип является отображением?
Под термином «отображение» подразумевается объект, который отображает ключи на ассоциированные с ними значения. Единственный базовый тип данных в языке Python, который является отображением, – это словарь. Отображения не подразумевают упорядочение элементов по их позиции, но они поддерживают возможность доступа к элементам по ключу, плюс ряд специфичных методов.

14. Что означает термин «полиморфизм», и почему он имеет такое важное значение?
«Полиморфизм» означает, что фактически выполняемая операция (такая как +) зависит от объектов, которые принимают в ней участие. В языке Python идея полиморфизма составляет ключевую концепцию (пожалуй, самую ключевую) – она не ограничивает применимость программного кода каким-то определенным типом данных, благодаря чему этот код обычно в состоянии автоматически обрабатывать объекты самых разных типов.