Python - это динамический и строго типизированный язык программирования, призванный подчеркнуть удобство использования. Две распространенные, но в основном несовместимые версии Python широко используются (2 и 3). Если у вас есть вопрос Python, зависящий от версии, рассмотрите использование тегов [python-2.7] или [python-3.x] в дополнение к тегу [python]. Если вы используете вариант Python, такой как Jython, Pypy, Iron-python и т.д., Пожалуйста, отметьте соответствующим образом.

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

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

Python изначально был создан Guido van Rossum в 1991 году.

Широко используются две похожие, но несовместимые версии Python (2 и 3). Пожалуйста, обратите внимание на версию и реализацию, которые вы используете, задавая вопрос о Python (см. Ниже Рекомендация по меткам).

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

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

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

Философия Python кратко сформулирована в Zen of Python, написанный Тимом Петерсом, который может быть обнаружен путем выдачи этой команды в интерактивном интерпретаторе:

<Предварительно > <код → → импортировать это Код >

Документацию можно также получить в автономном режиме для установки Python следующим образом:

  • Переход в <код > Your_Python_install_dir/Doc. Для версии Python, установленной на вашем компьютере, имеется полная документация Python.
  • Запуск pydoc x или python -m pydoc x из командной строки или терминала отображает документацию для модуля x.

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

<Предварительно > <код → → из __future__ импортных скобок Файл "<stdin> ", строка 1 SyntaxError: не случайность Код >

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

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


Рекомендация по маркировке:

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

Кроме того, включите тег для конкретной реализации (, и т.д.), если вы используете что-то, кроме - использование предполагается, если явно не указано иначе.


Ссылки


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

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

  • Django

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

  • Flask

    Flask - это микро-каркас для Python на основе Werkzeug, Jinja 2 и добрых намерений.

  • Торнадо

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

  • CherryPy

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

  • Пирамида

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

  • web.py

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

  • Grok

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

  • Бутылка

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

  • web2py

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

  • Falcon

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

  • Twisted

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

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

  • NumPy

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

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

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

  • SciPy

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

  • matplotlib

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

  • pandas

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

  • theano

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

  • Блендер

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

  • scikit-learn

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

  • TensorFlow

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


Основной

Чат-комнаты

  • Чат на выделенном канале IRC #python в Freenode для всех вещей Python. Посмотрите IRC Python, указав конкретный альтернативный канал, если он заинтересован.

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

Другие сайты


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


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

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

Курсы онлайн Python


Учебники по видео Python


Python для ученых


Python Online IDE

  • ideone - интерактивная среда разработки с другой популярной поддержкой языка.