Spec-Zone.ru › Python 3.9

Общие вопросы о Python

  • Общая информация

    • Что такое Python?
    • Что такое Python Software Foundation?
    • Существуют ли ограничения авторских прав при использовании Python?
    • Почему Python был создан в первую очередь?
    • Для чего подходит Python?
    • Как работает система нумерации версий Python?
    • Как получить копию исходного кода Python?
    • Как получить документацию по Python?
    • Я никогда не программировал. Есть ли учебник по Python?
    • Существует ли новостная группа или рассылка, посвященная Python?
    • Как получить бета-версию Python?
    • Как отправить отчеты об ошибках и исправления для Python?
    • Есть ли опубликованные статьи о Python, на которые я могу сослаться?
    • Есть ли книги по Python?
    • Где в мире находится www.python.org?
    • Почему он называется Python?
    • Мне нужно любить "Летний цирк Монти Пайтона"?
  • Python в реальном мире

    • Насколько стабилен Python?
    • Сколько людей используют Python?
    • Были ли выполнены какие-либо значимые проекты на Python?
    • Какие новые разработки ожидаются для Python в будущем?
    • Разумно ли предлагать несовместимые изменения в Python?
    • Python — хороший язык для начинающих программистов?

Общая информация

Что такое Python?

Python — интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он включает модули, исключения, динамическую типизацию, динамические типы данных очень высокого уровня и классы. Он поддерживает несколько парадигм программирования, помимо объектно-ориентированного программирования, таких как процедурное и функциональное программирование. Python сочетает в себе замечательную мощь с очень ясным синтаксисом. Он имеет интерфейсы к многим системным вызовам и библиотекам, а также к различным оконным системам и расширяется на C или C++. Он также может использоваться в качестве расширяемого языка для приложений, которым нужен программируемый интерфейс. Наконец, Python портативен: он работает на многих вариантах Unix, включая Linux и macOS, а также на Windows.

Чтобы узнать больше, начните с Руководства по Python. Руководство для начинающих по Python содержит ссылки на другие вводные руководства и ресурсы для изучения Python.

Что такое Python Software Foundation?

Python Software Foundation — это независимая некоммерческая организация, которая владеет авторскими правами на версии Python 2.1 и более поздние. Миссия PSF — продвигать открытые технологии, связанные с языком программирования Python, и популяризировать использование Python. Главная страница PSF находится по адресу https://www.python.org/psf/.

Пожертвования PSF освобождены от налогов в США. Если вы используете Python и находите его полезным, пожалуйста, внесите свой вклад через страницу пожертвований PSF.

Существуют ли ограничения авторских прав при использовании Python?

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

См. страницу лицензии PSF, чтобы найти дальнейшие объяснения и ссылку на полный текст лицензии.

Логотип Python является товарным знаком, и в некоторых случаях для его использования требуется разрешение. Обратитесь к Политике использования товарных знаков для получения дополнительной информации.

Почему Python был создан в первую очередь?

Вот очень краткое изложение того, что всё начиналось, написанное Гвидо ван Россумом:

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

У меня было несколько претензий к языку ABC, но мне также нравились многие его функции. Расширить язык ABC (или его реализацию) для устранения моих жалоб было невозможно — на самом деле, отсутствие возможности расширения было одной из его самых больших проблем. У меня был некоторый опыт использования Modula-2+ и я разговаривал с разработчиками Modula-3 и читал отчёт о Modula-3. Modula-3 является источником синтаксиса и семантики, используемых для исключений, и некоторых других функций Python.

Я работал в группе Amoeba распределённой операционной системы в CWI. Нам нужен был лучший способ администрирования системы, чем написание программ C или сценариев оболочки Bourne, так как у Amoeba был свой собственный интерфейс системных вызовов, который не был легко доступен из оболочки Bourne. Мой опыт обработки ошибок в Amoeba заставил меня осознать важность исключений как функции языка программирования.

Мне пришло в голову, что язык сценариев с синтаксисом, похожим на ABC, но с доступом к системным вызовам Amoeba, удовлетворит эту потребность. Я понял, что глупо писать язык, специфичный для Amoeba, поэтому я решил, что мне нужен язык, который в целом можно расширять.

Во время рождественских каникул 1989 года у меня было много свободного времени, поэтому я решил попробовать. В течение следующего года, в основном работая над ним в свободное время, Python использовался в проекте Amoeba с возрастающим успехом, а отзывы коллег заставили меня добавить многие ранние улучшения.

В феврале 1991 года, после чуть более чем года разработки, я решил разместить объявление в USENET. Остальное содержится в файле Misc/HISTORY.

Для чего подходит Python?

Python — это язык программирования высокого уровня общего назначения, который может применяться к множеству различных задач.

Язык поставляется со значительной стандартной библиотекой, которая охватывает такие области, как обработка строк (регулярные выражения, Unicode, вычисление различий между файлами), интернет-протоколы (HTTP, FTP, SMTP, XML-RPC, POP, IMAP, программирование CGI), разработка программного обеспечения (тестирование модулей, регистрация, профилирование, разбор кода Python) и интерфейсы операционных систем (системные вызовы, файловые системы, сокеты TCP/IP). Посмотрите на оглавление Стандартной библиотеки Python, чтобы получить представление о доступных возможностях. Также доступно множество сторонних расширений. Обратитесь к Индексу пакетов Python, чтобы найти интересующие вас пакеты.

Как работает схема нумерации версий Python?

Версии Python обозначаются как A.B.C или A.B. A — это номер основной версии — он увеличивается только для действительно крупных изменений в языке. B — это номер дополнительной версии, увеличивается для менее значительных изменений. C — это микроуровень — он увеличивается для каждого выпуска исправления ошибок. Смотрите PEP 6 для получения дополнительной информации об исправлениях ошибок.

Не все релизы являются исправлениями ошибок. Перед выпуском новой основной версии делается ряд предварительных версий, обозначаемых как альфа, бета или кандидат в релиз. Альфа-версии — это ранние релизы, в которых интерфейсы ещё не окончательно определены; не стоит ожидать, что интерфейс не изменится между двумя альфа-версиями. Бета-версии более стабильны, сохраняя существующие интерфейсы, но, возможно, добавляя новые модули, а кандидаты в релиз заморожены, не внося изменений, кроме необходимых для исправления критических ошибок.

Альфа, бета и версии кандидатов в релиз имеют дополнительный суффикс. Суффикс для альфа-версии — «aN» для некоторого небольшого числа N, суффикс для бета-версии — «bN» для некоторого небольшого числа N, а суффикс для версии кандидата в релиз — «rcN» для некоторого небольшого числа N. Другими словами, все версии, помеченные как 2.0aN, предшествуют версиям, помеченным как 2.0bN, которые предшествуют версиям, помеченным как 2.0rcN, а те предшествуют версии 2.0.

Вы также можете найти номера версий с суффиксом «+», например, «2.2+». Это неопубликованные версии, построенные непосредственно из репозитория разработки CPython. На практике после выпуска окончательной дополнительной версии номер версии увеличивается до следующей дополнительной версии, которая становится версией «a0», например, «2.4a0».

См. также документацию для sys.version, sys.hexversion и sys.version_info.

Как получить копию исходного кода Python?

Последнее распределение исходного кода Python всегда доступно на python.org по адресу https://www.python.org/downloads/. Последние исходные коды разработки можно получить по адресу https://github.com/python/cpython/.

Распределение исходного кода — это сжатый tar-файл, содержащий весь исходный код C, документацию в формате Sphinx, модули библиотеки Python, примеры программ и несколько полезных частей свободно распространяемого программного обеспечения. Исходный код будет компилироваться и работать «из коробки» на большинстве UNIX-платформ.

См. раздел «Начало работы» в Руководстве разработчика Python для получения дополнительной информации о получении исходного кода и его компиляции.

Как получить документацию по Python?

Стандартная документация для текущей стабильной версии Python доступна по адресу https://docs.python.org/3/. Версии PDF, обычный текст и загружаемые HTML также доступны по адресу https://docs.python.org/3/download.html.

Документация написана на reStructuredText и обрабатывается инструментом документации Sphinx. Исходный код reStructuredText документации является частью дистрибутива исходного кода Python.

Я никогда не программировал. Есть ли руководство по Python?

Существует множество руководств и книг. Стандартная документация включает Руководство по Python.

Обратитесь к Руководству для начинающих, чтобы найти информацию для начинающих программистов Python, включая списки руководств.

Существует ли новостная группа или список рассылки, посвящённый Python?

Есть новостная группа comp.lang.python и список рассылки python-list. Новостная группа и список рассылки связаны — если вы можете читать новости, вам нет необходимости подписываться на список рассылки. comp.lang.python имеет большой трафик, получая сотни сообщений каждый день, и читатели Usenet часто лучше справляются с таким объёмом.

Объявления о новых выпусках программного обеспечения и событиях можно найти в comp.lang.python.announce, низкопоточной модерации списка рассылки, которая получает около пяти сообщений в день. Она доступна как список рассылки python-announce.

Дополнительную информацию об других списках рассылки и новостных группах можно найти по адресу https://www.python.org/community/lists/.

Как получить бета-версию Python?

Альфа- и бета-версии доступны на сайте https://www.python.org/downloads/. Все выпуски объявляются на новостных группах comp.lang.python и comp.lang.python.announce, а также на главной странице Python по адресу https://www.python.org/; доступен RSS-лента новостей.

Вы также можете получить доступ к разрабатываемой версии Python через Git. Подробности см. в Руководстве разработчика Python.

Как отправить отчеты об ошибках и исправления для Python?

Для отправки отчета об ошибке или исправления используйте установку Roundup по адресу https://bugs.python.org/.

Для отправки отчетов об ошибках требуется учетная запись Roundup; это позволяет нам связаться с вами, если у нас возникнут дополнительные вопросы. Это также позволит Roundup отправлять вам обновления по мере обработки вашей ошибки. Если вы ранее использовали SourceForge для отправки отчетов об ошибках в Python, вы можете получить пароль Roundup через процедуру сброса пароля Roundup.

Для получения дополнительной информации о разработке Python проконсультируйтесь с Руководством разработчика Python.

Есть ли опубликованные статьи о Python, на которые я могу сослаться?

Наверное, лучше всего сослаться на вашу любимую книгу о Python.

Первая статья о Python была написана в 1991 году и сейчас довольно устарела.

Guido van Rossum и Jelke de Boer, «Интерактивное тестирование удаленных серверов с использованием языка программирования Python», CWI Quarterly, выпуск 4, номер 4 (декабрь 1991 г.), Амстердам, с. 283–303.

Есть ли книги о Python?

Да, их много, и их публикуют все больше. Список можно найти на вики python.org по адресу https://wiki.python.org/moin/PythonBooks.

Также можно поискать в интернет-магазинах книг по запросу «Python» и отфильтровать ссылки на группу «Monty Python»; или, возможно, поискать «Python» и «язык».

Где в мире находится www.python.org?

Инфраструктура проекта Python расположена по всему миру и поддерживается командой Python Infrastructure Team. Подробности здесь здесь.

Почему он называется Python?

Когда он начинал реализовывать Python, Гвидо ван Россум также читал опубликованные сценарии из “Летящего цирка Монти Пайтона”, британского комедийного сериала 1970-х годов. Ван Россум считал, что ему нужно имя, которое было бы коротким, уникальным и немного загадочным, поэтому он решил назвать язык Python.

Должен ли я любить «Летящий цирк Монти Пайтона»?

Нет, но это помогает. :)

Python в реальном мире

Насколько стабилен Python?

Очень стабилен. С 1991 года выходят новые стабильные релизы примерно раз в 6-18 месяцев, и, похоже, это будет продолжаться. Начиная с версии 3.9, Python будет выпускать крупную новую версию каждые 12 месяцев (PEP 602).

Разработчики выпускают «исправительные» релизы более старых версий, поэтому стабильность существующих релизов постепенно улучшается. Исправительные релизы, обозначенные третьей компонентой номера версии (например, 3.5.3, 3.6.2), управляются для повышения стабильности; в исправительный релиз включаются только исправления известных проблем, и гарантируется, что интерфейсы останутся неизменными на протяжении ряда исправительных релизов.

Последние стабильные версии всегда можно найти на странице загрузки Python. Существует две готовые к производству версии Python: 2.x и 3.x. Рекомендуемая версия — 3.x, которая поддерживается большинством широко используемых библиотек. Хотя 2.x все еще широко используется, он больше не поддерживается.

Сколько людей используют Python?

Вероятно, миллионы пользователей, хотя точное количество трудно определить.

Python доступен для бесплатного скачивания, поэтому нет данных о продажах, и он доступен на многих разных сайтах и в комплекте со многими дистрибутивами Linux, поэтому статистика загрузок тоже не отражает всю картину.

Новостная группа comp.lang.python очень активна, но не все пользователи Python публикуют сообщения в группу или даже читают её.

Были ли выполнены какие-либо значимые проекты на Python?

Список проектов, использующих Python, см. на сайте https://www.python.org/about/success. Изучение трудов прошлых конференций Python раскроет вклад многих разных компаний и организаций.

К числу высокопрофильных проектов Python относятся менеджер списков рассылки Mailman и сервер приложений Zope. Несколько дистрибутивов Linux, в частности Red Hat, написали часть или все свои программы установки и администрирования системы на Python. К компаниям, которые используют Python в своей внутренней работе, относятся Google, Yahoo и Lucasfilm Ltd.

Какие новые разработки ожидаются для Python в будущем?

См. https://www.python.org/dev/peps/ для предложений по улучшению Python (PEPs). PEP — это документы по проектированию, описывающие предлагаемую новую функцию Python, предоставляющие краткое техническое описание и обоснование. Поищите PEP под названием «График выпуска Python X.Y», где X.Y — это версия, которая ещё не была выпущена публично.

Новые разработки обсуждаются на списке рассылки python-dev.

Разумно ли предлагать несовместимые изменения в Python?

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

Для изменения функции необходимо предоставить постепенный путь обновления. PEP 5 описывает процедуру внедрения несовместимых с обратной совместимостью изменений, минимизируя нарушения для пользователей.

Является ли Python хорошим языком для начинающих программистов?

Да.

Начинающим студентам часто предлагают изучать процедуальный и статически типизированный язык, такой как Pascal, C или подмножество C++ или Java. Студенты могут лучше усвоить основы программирования, начав с Python. Python имеет очень простой и последовательный синтаксис, большую стандартную библиотеку и, что самое важное, использование Python в курсе по основам программирования позволяет студентам сосредоточиться на важных навыках программирования, таких как декомпозиция задач и проектирование типов данных. С Python студенты могут быстро освоить такие базовые концепции, как циклы и процедуры. Они, вероятно, смогут работать даже с определенными пользователем объектами на первом же курсе.

Для студента, который никогда раньше не программировал, использование статически типизированного языка кажется неестественным. Он добавляет дополнительную сложность, которую должен освоить студент, и замедляет темп курса. Студенты пытаются научиться мыслить как компьютер, разбивать задачи, проектировать согласованные интерфейсы и инкапсулировать данные. Хотя освоение статически типизированного языка важно в долгосрочной перспективе, это не обязательно лучшая тема для обсуждения на первом курсе программирования.

Многие другие аспекты Python делают его хорошим начальным языком. Как и Java, Python имеет большую стандартную библиотеку, так что студентам можно давать программистские проекты, которые что-то делают, очень рано в курсе. Задания не ограничиваются стандартным калькулятором с четырьмя функциями и программами проверки баланса. Используя стандартную библиотеку, студенты могут получить удовлетворение от работы над реальными приложениями во время изучения основ программирования. Использование стандартной библиотеки также учит студентов переиспользованию кода. Вспомогательные модули, такие как PyGame, также полезны для расширения возможностей студентов.

Интерактивный интерпретатор Python позволяет студентам проверять языковые возможности во время программирования. Они могут держать окно с интерпретатором открытым, в то время как в другом окне вводят исходный код своей программы. Если они не помнят методы для списка, они могут сделать что-то вроде этого:

>>> L = []
>>> dir(L) 
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__',
'__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__',
'__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',
'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',
'reverse', 'sort']
>>> [d for d in dir(L) if '__' not in d]
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> help(L.append)
Help on built-in function append:

append(...)
    L.append(object) -> None -- append object to end

>>> L.append(1)
>>> L
[1]

С интерпретатором документация всегда находится рядом со студентом во время программирования.

Также существуют хорошие IDE для Python. IDLE — кроссплатформенная IDE для Python, написанная на Python с использованием Tkinter. PythonWin — IDE, предназначенная для Windows. Пользователи Emacs будут рады узнать, что есть очень хорошая поддержка Python для Emacs. Все эти среды программирования предоставляют подсветку синтаксиса, автоматическое отступание и доступ к интерактивному интерпретатору во время кодирования. Полный список сред редактирования Python см. на вики Python.

Если вы хотите обсудить использование Python в образовании, вы можете присоединиться к списку рассылки edu-sig.

© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/faq/general.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API