Описание тега python

Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python или библиотеки (например, Jython, PyPy, Pandas, Numpy), пожалуйста, включите его в теги.

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

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

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

Пример:

Программа Python

print("hello stackru")

против

Программа C

#include <stdio.h>
int main(void) {
    printf("hello stackru");
    return 0;
}

Первоначально Python был создан Гвидо ван Россумом и впервые выпущен в 1991 году. Гвидо Ван Россум выбрал Python в качестве рабочего названия для проекта, находясь в слегка непочтительном настроении (и большой поклонник Летающего цирка Монти Пайтона).

Python 2 (16 октября 2000 г. - 1 января 2020 г.) официально закрыт, а Python 3 (3 декабря 2008 г.) является единственной поддерживаемой, поддерживаемой и улучшенной основной версией по состоянию на 1 января 2020 г. У нас есть сообщество людей из обоих миров, и если у вас есть вопрос, относящийся к конкретной версии, при задании вопроса о Python рассмотрите возможность упоминания версии и реализации, которые вы используете (см. раздел " Рекомендации по тегам " ниже).

Python поддерживает несколько парадигм программирования, включая объектно-ориентированные, императивные и функциональные стили программирования. Он имеет полностью динамическую систему типов и автоматическое управление памятью, аналогично Scheme, Ruby, Perl и Tcl.

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

CPython, эталонная реализация Python, является бесплатным программным обеспечением с открытым исходным кодом. У него есть модель разработки на основе сообщества, как и почти все его альтернативные реализации. Существует множество реализаций, более подходящих для конкретных сред или задач (см. Реализации Python в вики-странице Python).

Философия Python лаконично сформулирована в книге "Дзен Python", написанной Тимом Петерсом, которую можно прочитать, выполнив эту команду в интерактивном интерпретаторе Python:

>>> import this

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

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance
>>>

Чтобы облегчить переход, рекомендуется использовать правильно настроенный текстовый редактор или IDE. Python поставляется с базовой IDE под названием IDLE ( python-idle), чтобы вы могли начать работу. Другими популярными примерами являются благотворительная программа Vim, бесплатный GNU Emacs, Eclipse+PyDev или PyCharm. Взгляните на этот список сравнения IDE для многих других альтернатив.

Также существует руководство по стилю для Python под названием PEP 8, цель которого - сделать код Python более читаемым и последовательным. Это руководство соблюдается (должно) соблюдаться всем сообществом разработчиков Python.


Рекомендации по тегам:

Используйте тег python для всех вопросов, связанных с Python. Если вы считаете, что ваш вопрос включает проблемы, характерные для отдельных версий, используйте python-3.x или python-2.7 в дополнение к основному тегу python. Если вы считаете, что ваш вопрос может быть даже более конкретным, вы можете добавить тег для конкретной версии, например python-3.5 или python-3.6 и т. Д.

Также рассмотрите возможность включения тега для конкретной реализации ( jython, pypy и т. Д.), Если вы используете какой-либо другой, кроме cpython - предполагается использование cpython, если явно не указано иное.


Ссылки:


Установка внешних пакетов:

  • Пип пип

    Большинство библиотек Python, используемых для простых и сложных сценариев, загружаются с помощью pip, установщика пакетов Python. Он позволяет устанавливать и управлять дополнительными пакетами, которые не являются частью стандартной библиотеки Python. Большинство дистрибутивов Python поставляются с предварительно установленным pip.
    Общий синтаксис:

$ pip install SomePackage
[...]
Successfully installed SomePackage
  • easy_install простая установка

    easy_install был выпущен в 2004 году как часть setuptools. В то время это было примечательно установкой пакетов из PyPI с использованием спецификаторов требований и автоматической установкой зависимостей. Простая установка устарела. Не используйте это. Вместо этого используйте pip.


Популярные библиотеки Python общего назначения:

  • Запросы запросы

    Простая библиотека Python для выполнения HTTP-запросов. Запросы продаются как "Для людей". Библиотека предназначена для упрощения и универсализации многих методов Python для выполнения HTTP-запросов таким образом, чтобы они были удобочитаемыми и простыми в использовании. Такие функции, как сохранение активности и создание пулов соединений, обрабатываются автоматически, что обеспечивает максимальную простоту.

  • Подушка python-imaging-library

    Pillow описывается как "дружественная ветвь" модуля Python PIL, не поддерживаемой, но полезной библиотеки изображений. Библиотека использует API-интерфейсы C, чтобы предоставить простой интерфейс Python для изменения и управления файлами изображений различными способами.

  • Scrapy scrapy

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

  • Красивый суп beautifulsoup bs4

    Beautiful Soup- это пакет Python для анализа документов HTML и XML. Он создает дерево синтаксического анализа для проанализированных страниц, которое можно использовать для извлечения данных из HTML, что полезно для парсинга веб-страниц. Он доступен для Python 2.7 и Python 3.

  • nltk nltk

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


Популярные веб-фреймворки на основе Python:

Если ваш вопрос имеет какое-либо отношение к какой-либо из этих платформ, убедитесь, что вы добавили соответствующий тег.

  • Джанго Джанго

    Веб-фреймворк для перфекционистов (с дедлайнами). Django упрощает создание лучших веб-приложений быстрее и с меньшим количеством кода. Django - это веб-фреймворк Python высокого уровня, который способствует быстрой разработке и чистому, прагматичному дизайну. Он позволяет быстро создавать высокопроизводительные элегантные веб-приложения. Django фокусируется на максимально возможной автоматизации и придерживается принципа DRY (Don't Repeat Yourself).

  • Колба колба

    Flask - это легкая микросхема и сторонняя библиотека для Python, основанная на Werkzeug, Jinja 2 и благих намерениях. Он обеспечивает монолитную структуру и не навязывает зависимости, что обеспечивает более тонкий контроль и большую свободу для разработки.

  • Кварты кварты

    Quart- это эволюция Flask API для работы с Asyncio и обеспечения ряда функций, которые отсутствуют или невозможны во Flask.

  • Торнадо торнадо

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

  • CherryPy CherryPy

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

  • Пирамида пирамида

    Легкий веб-фреймворк, подчеркивающий гибкость и быстрое развитие. Он сочетает в себе лучшие идеи из миров Ruby, Python и Perl, обеспечивая структурированную, но чрезвычайно гибкую веб-среду Python. Это также один из первых проектов, в котором используется развивающийся стандарт WSGI, который обеспечивает широкое повторное использование и гибкость, но только при необходимости.

  • Турбоприводы TurboGears

    TurboGears - это масштабируемая веб-платформа, которая может перейти от настройки минимального режима к веб-приложению с полным стеком. Он был создан в 2005 году Кевином Дангуром, а текущую разработку TurboGears2 ( turbogears2) возглавляет Марк Рамм. Текущая стабильная версия TurboGears - TurboGears 2.4.1, выпущенная 3 сентября 2019 г.

  • web.py web.py

    web.py - это веб-фреймворк для Python, который настолько прост и эффективен. web.py находится в общественном достоянии: вы можете использовать его для любых целей без каких-либо ограничений. web.py позволяет писать веб-приложения на Python.

  • Грок Грок

    Создан на основе существующих библиотек Zope 3, но призван упростить процесс обучения и сделать разработку более гибкой. Grok делает это, делая упор на соглашение, а не на конфигурацию и DRY (Don't Repeat Yourself).

  • Бутылка бутылка

    Бутылка - это быстрый, простой и легкий веб-фреймворк WSGI для Python. Он распространяется как единый файловый модуль и не имеет никаких зависимостей, кроме стандартной библиотеки Python.

  • web2py web2py

    web2py - это бесплатная полнофункциональная среда с открытым исходным кодом для быстрой разработки быстрых, масштабируемых, безопасных и переносимых веб-приложений на базе баз данных.

  • Сокол сокол

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

  • Скрученный скрученный

    Twisted - это сетевой движок с открытым исходным кодом, управляемый событиями. Это полезно для реализации как клиентов, так и серверов, а также масштабируется до крупных веб-сайтов и до встроенных устройств. Twisted упрощает реализацию индивидуальных сетевых приложений.


Популярные фреймворки Python с графическим интерфейсом на основе Python

  • Киви Киви

    Kivy- это ускоренная платформа OpenGL ES 2 для создания новых пользовательских интерфейсов. Он поддерживает несколько платформ, а именно Windows, MacOSX, Linux, Android iOS и Raspberry Pi. Он имеет открытый исходный код и включает в себя более 20 виджетов в своем наборе инструментов. Дополнительные материальные объекты доступны через KivyMD.

  • PyQT pyqt

    PyQT - одна из излюбленных кроссплатформенных привязок Python, реализующих библиотеку Qt для среды разработки приложений Qt (принадлежащей Nokia). В настоящее время PyQT доступен для Unix/Linux, Windows, Mac OSX и Sharp Zaurus. Он сочетает в себе лучшее из Python и Qt, и программист может решить, создавать ли программу путем кодирования или с помощью Qt Designer для создания визуальных диалогов.

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

    Последняя версия PyQt - v5.

  • Tkinter Tkinter

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

  • PyGUI Pygui

    PyGUI - это кроссплатформенная среда графических приложений для Unix, Macintosh и Windows. По сравнению с некоторыми другими фреймворками GUI, PyGUI на сегодняшний день является самым простым и легким из всех, поскольку API полностью синхронизирован с Python. PyGUI вставляет очень мало кода между платформой GUI и вашим приложением Python, поэтому при отображении приложения обычно отображается естественный графический интерфейс платформы.


Популярные математические / научные вычислительные библиотеки на Python

  • NumPy numpy

    NumPy - это фундаментальный пакет для научных вычислений с Python. Среди прочего он содержит:

    • мощный объект N-мерного массива
    • сложные (вещательные) функции
    • инструменты для интеграции кода C/C++ и Fortran
    • полезная линейная алгебра, преобразование Фурье и возможности случайных чисел

    Эти функции также позволяют использовать NumPy в приложениях баз данных общего назначения.

  • SciPy scipy

    SciPy - это библиотека с открытым исходным кодом для языка программирования Python, состоящая из математических алгоритмов и функций, часто используемых в науке и технике. SciPy включает в себя алгоритмы и инструменты для таких задач, как оптимизация, кластеризация, дискретное преобразование Фурье, линейная алгебра, обработка сигналов и обработка многомерных изображений. SciPy тесно связан с NumPy и зависит от многих функций NumPy, включая многомерный массив, который используется в качестве базовой структуры данных в SciPy.

  • matplotlib matplotlib

    matplotlib - это библиотека построения графиков для языка программирования Python и его расширения числовой математики NumPy. Он предоставляет объектно-ориентированный API для встраивания графиков в приложения с использованием универсальных инструментов графического интерфейса пользователя, таких как wxPython, Qt или GTK. Существует также процедурный интерфейс "pylab", основанный на конечном автомате (например, OpenGL), который очень похож на интерфейс MATLAB.

  • панды панды

    Pandas - это библиотека с открытым исходным кодом под лицензией BSD, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для языка программирования Python. Pandas объединяет многие другие функции библиотек, а именно матричные операции NumPy и возможности построения графиков Matplotlib. 10 Minutes to Pandas - хорошее руководство для первого знакомства с Pandas.

  • Theano Theano

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

  • Блендер блендер

    Blender - это бесплатный пакет 3 D-анимации с открытым исходным кодом. Он поддерживает весь трехмерный конвейер - моделирование, оснастку, анимацию, симуляцию, рендеринг, композицию и отслеживание движения, даже редактирование видео и создание игр.

  • scikit-learn scikit-learn

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

  • tensorFlow tensorflow

    TensorFlow - это программная библиотека с открытым исходным кодом, разработанная командой Google Brain. Это символьная математическая библиотека, используемая в основном для приложений машинного обучения, таких как нейронные сети.


Популярные решения для расширения C:

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

  • ctypes ctypes

    ctypes - это пакет Python, который обертывает библиотеки C.dll/.so на чистом Python.

  • глоток глотка

    SWIG - это компилятор интерфейса, который соединяет программы, написанные на C и C++, с такими языками сценариев, как Python.

  • Cython Cython

    Cython - это оптимизирующий статический компилятор как для языка программирования Python, так и для расширенного языка программирования Cython (на основе Pyrex). Это делает написание расширений C для Python таким же простым, как и сам Python.


Сообщество

Чаты

  • Общайтесь на выделенном IRC-канале #python на Freenode обо всем, что связано с Python. Если интересно, посмотрите список Python IRC для конкретного альтернативного канала.

  • Обсудите Python с другими пользователями stackru в чате Python.

Другие сайты


Бесплатные книги по программированию на Python


Интерактивное обучение Python

  • Codecademy - Изучите основы Python и динамического программирования.
  • CodeSkulptor - интерактивная онлайн-среда разработки для программирования на Python 2
  • CodeSkulptor 3 - интерактивная онлайн-среда разработки для программирования на Python 3
  • Coursera - онлайн-курс для введения в интерактивное программирование на Python
  • CheckiO - игровой мир, который можно исследовать, используя свои навыки программирования на Python
  • Dataquest - Интерактивные курсы Python для науки о данных
  • Repl.it - онлайн-интерпретатор для Python 2 и 3, который упрощает сохранение и совместное использование кода
  • PyCharm Edu - настольное приложение, предлагающее интерактивное обучение Python
  • Интерактивный Python - включает модифицированную интерактивную версию книги "Как думать как компьютерный ученый"
  • Python Tutor - Визуализация и / или живое кодирование на Python
  • Круги по информатике - изучите основы Python 3 в полуинтерактивном режиме.

Онлайн-курсы Python


Видеоуроки Python


Python для ученых


Python Online IDE

  • ideone - онлайн-среда IDE с поддержкой других популярных языков.
  • repl - Среда мгновенного программирования для вашего любимого языка
  • оболочка python - онлайн-консоль от PythonAnywhere
  • http://pythonfiddle.com/ - Облачная среда разработки Python
  • pyfiddle - онлайн-консоль Python 2.7/3.6

Качество кода

  • Codacy - автоматическая проверка кода для более быстрой отправки лучшего кода.
  • Codecov - панель мониторинга покрытия кода.
  • CodeFactor - автоматическая проверка кода для Git.
  • Пейзаж - размещенные непрерывные метрики кода Python.

Официальный логотип

https://www.python.org/static/community_logos/python-logo-master-v3-TM.png


Активные подкасты

Неактивные подкасты