6 хитростей python, о которых никто не рассказывает новичкам
Содержание:
- Школа программирования TechRocks
- Массивы
- Дополнительные файлы Django-приложения
- Библиотеки для парсинга
- Реальные примеры
- Работа с базовыми функциями
- Классы и методы
- Связь с другими языками
- Списки, кортежи, множества и словари
- История появления
- Шаг 1 — Разбираем Flask
- «Основы программирования на Python» от НИУ «ВШЭ»
- Ускорение ‑ распараллеливание
- Для веб-разработки
- Что такое виртуальные среды или окружения языка Python?
- Какие компании используют Python
- Библиотеки и фреймворки
- Делать сайты на Python перспективнее?
- Синтаксис питона
- Other Useful Items
Школа программирования TechRocks
Курсы от школы TechRocks
TechRocks предлагает быстрый ознакомительный курс по Python — «PythonBoost». Вы изучите основы языка и получите необходимый скелет знаний, на который сможете наращивать все новые навыки. И это всего за три недели!
Записавшись на курс, вы получите доступ к видеоурокам и дополнительным материалам для углубленного изучения каждой темы. Кроме того, вам будут предложены задачи для отработки новых навыков (в каждом занятии — более 10 задач разного уровня).
Раз в неделю вы сможете принять участие в live-сессиях с преподавателем. Опытный программист будет отвечать на ваши вопросы, разбирать самые сложные задачи и указывать на типичные ошибки, которые можно допустить при их решении.
Между live-сессиями общаться с преподавателем и менторами можно в телеграм-чате.
Курс довольно интенсивный и емкий, но учебные материалы будут доступны и после окончания курса, так что вы сможете осваивать их в удобном для себя темпе.
В программе курса:
Первое знакомство и настройка окруженияПодготовка окружения
Cкачивание и установка PyCharm
Запуск первого проекта
Базовое знакомство с синтаксисом Python
Интерпретатор PythonОбзор интерпретатора Python
Что происходит после запуска программы на выполнение
Базовые структуры данныхЗнакомство со списками, кортежами, словарями и множествами
Приведение типов
Особенности использования типов для разных задач
ЦиклыРазбор базовых циклов for и while и их использования
Генераторы и list comprehensions
ФункцииСпособы вызова функций
Разбор встроенных функций Python
Рекурсия
Числа Фибоначчи
Условия if/elif/else (разбор условных операторов)
ООП
Классы, объекты.Что такое класс и объект, из чего состоит класс, какие в нем бывают методы и атрибуты.
Разбор основных принципов ООП (наследование, инкапсуляция, полиморфизм).
Наследование классов (случаи применения, переопределение методов и атрибутов).
Тестирование (базовые понятия по тестированию кода).
Обработка ошибок (try, except, else, finally)
Декораторы (что это такое, как создать и где используют).
Материалы для дальнейшего изучения (что делать дальше после прохождения курса, какие книги читать, какие проекты делать, что стоит изучать, а что не так важно для работодателей).. По окончании курса вы получите электронный сертификат, хотя это не главное
Куда важнее, что у вас будут все необходимые знания для правильного старта в Python
По окончании курса вы получите электронный сертификат, хотя это не главное. Куда важнее, что у вас будут все необходимые знания для правильного старта в Python.
Массивы
В массивах «array» хранятся однотипные данные, структурированные определенным образом. Они похожи на списки, но ограничены размером и типом входных данных. Для создания нового массива нужно импортировать библиотеку, которая может с ним работать. Ячейки массива имеют одинаковый размер.
одномерные и многомерные массивы в Python
Массивы бывают одномерными, двумерными, многомерными. Размерность массива можно изменять, поэтому предусмотрена функции, позволяющие измерить его размер. В массиве можно добавлять и удалять элементы.
В качестве примера приведу синтаксис метода для списка: spisok . append (аргумент), где аргументом могут быть данные любого типа и аргумент является обязательным. Название метода записывается после названия списка через точку «. append». Этот метод принимает только один аргумент и вставляет его в конец списка. Синтаксис других методов аналогичен.
Дополнительные файлы Django-приложения
Перед размещением кода на Heroku, нам понадобится сделать четыре изменения в нашем проекте Pages:
- обновить ;
- создать новый файл ;
- установить на нашем веб-сервере ;
- изменить строчку в файле .
Внутри уже существующего файла уточним используемую версию Python — в нашем случае 3.8. Для этого добавим в нижней части файла следующие две строчки.
Pipfile
Python
python_version = «3.8»
1 2 |
requires python_version=»3.8″ |
Далее запускаем для генерации подходящего .
Shell
(pages) $ pipenv lock
1 | (pages)$pipenv lock |
В действительности, в поисках информации о виртуальном окружении, Heroku заглядывает внутрь нашего Pipfile.lock. По этой причине здесь нам пришлось добавить настройку версии языка программирования.
Затем создаем , который является специфическим файлом конфигурации для Heroku.
Shell
(pages) $ touch Procfile
1 | (pages)$touchProcfile |
Откройте при помощи текстового редактора и добавьте следующее:
Python
web: gunicorn pages_project.wsgi —log-file —
1 | webgunicorn pages_project.wsgi—log-file- |
Это говорит о том, что нам надо использовать Gunicorn, что является сервером, подходящем для продакшена, в то время как собственный сервер Django работает только в локальном окружении. Устанавливаем gunicorn при помощи Pipenv.
Shell
(pages) $ pipenv install gunicorn==19.9.0
1 | (pages)$pipenv install gunicorn==19.9.0 |
Конфигурация для веб-сервера находится в файле wsgi.py, который Django автоматически создает для каждого нового проекта. Он находится в основной папке нашего проекта. Поскольку наш проект называется , сам файл находится в .
Последний шаг — небольшое изменение в файле . Прокрутите вниз до части и добавьте . Результат должен получиться следующим:
Python
# pages_project/settings.py
ALLOWED_HOSTS =
1 2 |
# pages_project/settings.py ALLOWED_HOSTS=’*’ |
Однако мы использовали знак звездочки , а это значит, что все домены являются приемлемыми. На сайте продакшн-уровня вместо этого вам пришлось бы составить ясный список допустимых доменов.
Для проверки изменений мы выполним команду , добавляем новые файлы и затем коммитим их:
Shell
(pages) $ git status
(pages) $ git add -A
(pages) $ git commit -m «New updates for Heroku deployment»
1 2 3 |
(pages)$git status (pages)$git add-A (pages)$git commit-m»New updates for Heroku deployment» |
Теперь мы можем разместить код на GitHub, создав онлайн копию наших изменений в коде.
Shell
(pages) $ git push -u origin master
1 | (pages)$git push-uorigin master |
Библиотеки для парсинга
Для парсинга в Python имеется несколько библиотек, у которых есть свои преимущества и недостатки. Каждая из них обладает уникальным ядром и механизмом работы.
SCRAPY
Scrapy – библиотека с открытым кодом, созданная для парсинга различных сайтов. Она отличается крайне большой производительностью
Важно отметить, что Scrapy сформирована на базе Twisted – асинхронной сетевой системы, что резко повышает стабильность и скорость отправки запросов
Главные уникальные характеристики Scrapy:
- Scrapy обладает встроенными функциями для получения информации из тегов HTML и CSS стилей с применением языка запросов XPath.
- Данная библиотека является кроссплатформенной. Другими словами, она одинаково работает на Linux, Mac, Windows, IOS, Android и других операционных системах.
- Scrapy просто расширяется и дополняется.
- Он намного быстрее других фреймворков. Его скорость при извлечении информации с сайтов в 20 раз выше, нежели у прочих инструментов.
- Он использует гораздо меньше ресурсов процессора, постоянной и оперативной памяти.
- С его помощью можно писать стабильные, многофункциональные и гибкие программы.
- Имеется большое сообщество разработчиков, которые перевели всю документацию и могут ответить на вопросы новичков.
Beautiful-Soup
Надо отметить, что Beautiful-Soup, является действительно отличным инструментом для написания парсеров из-за широкого функционала. С его помощью вебмастер может моментально скачать информацию с любой страницы. Фреймворк поможет получить данные из документов формата XML, HTML. Впрочем, есть минус – Beautiful-Soup не способен закончить процедуру сам. Он нуждается в некоторых модулях для функционирования.
В частности нужна установка фреймворка для отсылки запроса на веб-портал, ведь Beautiful-Soup не способен отправить его. Для выхода из этой ситуации необходимо воспользоваться одним из распространённых фреймворков: Requests, Lxml или Urlib2. Данные библиотеки сделают запрос к сайту. Наиболее часто применяется Requests, Lxml. После отправки информации HTML и XML на персональный компьютер желательно использовать программу для анализа скаченных данных.
Достоинства Beautiful-Soup:
Он прост в изучении. В частности, для получения ссылок со страницы потребуется всего несколько строчек кода:from bs4 import BeautifulSoup # подключаем библиотеку Beautiful-Soupimport requests # подключаем фреймворк Requestspage = requests.get(«http://required-site.ru/page») # Передаём GET-запрос, результат пишем в pagevariable = BeautifulSoup(page.text, «html.parser») # Ключевая строка, скачивающая весь html-кодfor result in variable.find_all(«a»): # перебираем циклом все теги print(result.get(«href»)) # извлекаем и распечатываем атрибуты href=»»
В указанном только что примере в функции первым параметром передаётся страница, а затем указывается команда html.parser, которая будет разбирать содержимое.
- Он имеет отличную подробную документацию, с помощью которой можно легко изучить библиотеку.
- Он обладает внушительной технической поддержкой сообщества. Так что для решения проблем не придётся долго искать ответы в интернете.
Selenium
Нужно понимать, что Selenium создан для автоматизации тестирования онлайн-приложений. Он даёт возможность программисту писать на нескольких распространённых языках: PYTHON, C#, JavaScript, JAVA, RUBY и прочих (также с использованием JSON).
Ниже приведён пример автоматизации и имитации работы браузера:
# подключение библиотеки Selenium # подключение класса Keys, чтобы было взаимодействие с кнопками клавиатуры (Shift, Space, F1, ALT)# строка формирует элемент класса Chrome# метод загружает страницу # метод проверяет наличие слова «Python» в заголовке. Если его нет, то программа прекращает свою работу (это своего рода проверка) # метод находит тег по атрибуту name=»» # передаём нажатия кнопок # получение результата # проверка результата на содержание слова «Google» # закрыть окно браузера
Реальные примеры
Существует различные причины и варианты необходимости использования сбора (скрэпинга) данных в Интернете. Позвольте мне перечислить некоторые из них:
- сбор данных со страницы электронного магазина, чтобы определить имеется ли в наличии одежда, которую вы хотите купить, со скидкой
- сравнить цены нескольких брендов одежды, собирая данные о них с вэб-страниц
- стоимость авиабилетов может меняться несколько раз в течение дня. Можно сканировать веб-сайт и дождаться момента, когда цена будет снижена
- проанализировать веб-сайты, чтобы определить, должна ли быть стартовая стоимость продажи низкой или высокой, чтобы привлечь больше участников на аукцион или коррелирует ли длительность проведения аукциона с более высокой ценой конечной ценой продажи
Работа с базовыми функциями
Разберём, как устроены базовые функции в Python.
Чтобы записать в переменную V сумму 1 и 1, мы напишем так:
Если мы захотим напечатать переменную V, мы используем функцию:
Напоминаем, что в Python мы не пишем тип переменных.
При спуске этот код выведет нам 2.
Если вы забыли, что делает функция, или нашли новую, вам поможет команда help (): она выпишет основную информацию о функции. Если мы используем ее на функцию print (), это будет выглядеть так:
В программировании мы будем много работать с числами. Все основные математические операции записываются в Python привычным образом, примерно как в калькуляторе:
Есть и операции поинтереснее, менее очевидные:
Иногда в Python можно встретить артефакты вроде такого:
В конце получившегося числа мы неожиданно видим 4. Это просто особенность компьютерного представления данных, и бояться этого не стоит, в большинстве случаев это не имеет значения. Но не забывайте об этой особенности, если вам важны точные числа (как, например, в астрофизике).
Вывод текста. Уже сложилась традиция, что первые слова, которые человек выписывает кодом, это «Hello, World!». Сделаем это и мы.
Мы уже выводили выше переменную, теперь выведем текст. Сделать это в Python очень просто:
Иногда (например, в цикле) надо выводить одно и то же с небольшим изменением. Для этого используется форматированный вывод. Это делается так: заменим часть, которая будет меняться, фигурными скобками, а за фразой напишем .format (). В скобки вставим переменную с нужным значением. Вот как это выглядит:
В некоторых версиях Python можно сделать то же самое и другим способом:
Результат будет один и тот же. Если у вас работают обе версии, то делайте так, как вам больше нравится.
Как устроены операции сравнения в Python
- Операции сравнения будут возвращать ответ в виде правда/неправда: True/False.
- Для проверки на равенство используются два знака «равно».
- Для проверки на неравенство используется восклицательный знак (знак отрицания) со знаком «равно».
Например:
Классы и методы
Класс включает в себя данные и методы. Класс – данные такого типа данных, который состоит из пакета свойств и средств для работы с ними. Создаются классы с помощью инструкции «class». В его теле может быть блок различных инструкций.
Класс содержит атрибуты, наследуемые объектами, которые написаны на основе этого класса. При вызове класса метод запускается автоматически.
Методы в классе очень похожи на функции, но принимают только один обязательный параметр. Этот параметр необходим для связи с нужным объектом. Методы помогают работать со строками, массивами, списками и т.д. Классы и их методы лучше изучать подробно в отдельной теме.
Связь с другими языками
pythonnet
Иногда возникает потребность запустить код, написанный на другом языке, через Python, например, в целях проверки работы какого-либо стороннего модуля или для оптимизации кода. Существует несколько библиотек, позволяющих сделать это, например, pythonnet позволяет запустить некоторую часть кода, написанную на C# в Python (pythonnet позволяет рассматривать множество элементов clr, как модули в python).
Создаем проект библиотеки классов C# в visual studio, создаем в неё нужный класс или методы (в случае примера класс, содержащий метод вычисления дискриминанта), создаем .dll и запускаем через pythonnet (более подробно тут):
Обращаемся к C# через Python
JPype
Для этих же целей существует библиотека, которая позволяет запустить Java код в Python. Эта библиотека называется — JPype. Рассмотрим пример работы библиотеки.
Для начала установим её pip install jpype1, далее создадим Java проект, который в будущем скомпилируем в .jar архив, в проекте необходимо создать пакет, в нём класс и прописать следующий код (код вычисляет объем цилиндра):
Теперь можно создать .jar решение проекта.
В python коде импортируем библиотеку jpype, запустим JVM и пропишем путь к созданному .jar архиву. Далее по аналогии с pythonnet импортируем необходимые пакеты и классы:
Таким образом, pythonnet и jpype — отличные решения для интеграции кода C# и Java в Python проект.
Списки, кортежи, множества и словари
Списки, кортежи, множества и словари – еще 4 типа данных в Питоне, включающие в себя несколько значений и являющиеся итерируемыми (перебираемыми, как строки).
Особенности показаны в таблице 3.
Список (list) | Кортеж (tuple) | Множество (set) | Словарь (dict) |
Изменяемый | Неизменяемый | Изменяемое | Изменяемый |
Значения могут дублироваться | Значения могут дублироваться | Значения не могут дублироваться | Ключи не могут дублироваться |
Доступ по индексу возможен | Доступ по индексу возможен | Доступ по индексу невозможен | Есть доступ к ключам и значениям |
Таблица 3 – Коллекции данных в Python
Список – последовательность произвольных элементов, разделенных запятой. Обозначается квадратными скобками. Можно доставать отдельные составляющие через индекс, добавить в начало списка или конец те или иные значения, удалить элементы, узнать длину, отсортировать.
Рассмотрим часть функционала.
Результат работы скрипта:
Когда необходимо запретить изменение коллекции, ее удобно представлять в виде кортежа. Более того, он занимает меньшее количество в памяти. Записывается в круглых скобках.
На их основании также возможны срезы, доступ по индексу, нахождение максимума или минимума (если элементы представлены числами), поиск количества вхождений значений.
Результат работы скрипта:
Множества хороши в ситуациях, когда нужна гарантия уникальности всех элементов. Задаются фигурными скобками. При добавлении дубликата размер сета никак не меняется
Важно и то, что порядок объектов внутри множества не гарантирован, что исключает доступ по индексу
Результат работы скрипта:
Словарь – особый тип коллекций. Все его элементы состоят из пар «ключ: значение». Ключ должен быть уникальным, а значения могут повторяться. Обозначается фигурными скобками.
Рассмотрим некоторые операции со словарями.
Результат работы скрипта:
Таким образом, в зависимости от ситуации применяется тот или иной тип коллекций. Чаще всего это списки и словари.
История появления
Кто создал Python
Питон был задуман в еще в далеких 80 — х программистом из Голландии Гвидо ван Россумом. Создавать его Гвидо начал в 1989 году как замену языку ABC, предназначенного для обучения студентов программированию. Он создавался на энтузиазме, без бюджета и поддержки.
Создатель языка Python Гвидо ван Россум
Работал Гвидо ван Россум по вечерам и в выходные дни. В результате за несколько недель был написан интерпретатор Python. Многие идеи были взяты из других языков программирования таких как C и ABC. В итоге из этого проекта вырос Python, входящий в тройку самых популярных языков мира.
Почему так назвали
Гвидо ван Россум был поклонником комедийного телешоу «Летающий цирк Монти Пайтона» и в честь этого английского сериала, популярного в 1970 – х годах дал название своему языку программирования Python. Этот сериал принес еще одно очень популярное сегодня слово «спам». Оно обозначает навязчивую рекламу, с которой знаком каждый.
Этапы развития Python
Публикация исходного текста Python произошла в 1991 году. Язык был относительно несложным. В нем было мало функций и интерпретатор «interpreter» тоже был небольшого размера.
Всего было 3 версии питона:
- Первая версия Python 1.0 увидела свет в январе 1994 года и развитие ее релизов продолжалось до 2000 года. Последним релизом стал Python 1.6.
- С 2000 по 2008 год развивалась его вторая версия. В это время проект был помещен на SourseForge. Это платформа, на которой расположены проекты с открытым кодом и был дан импульс к развитию языка сообществом программистов.
- В 2008 году вышла третья версия, которая развивается и в настоящее время. Поддержка второй версии постепенно прекращается и все большее число программистов пользуется третьей версией Python. На момент выхода статьи последней версией питона является Python 3.9.0. Третья версия языка осуществляет поддержку второй не полностью.
Шаг 1 — Разбираем Flask
Flask — это микрофреймворк для веб-разработки. “Микро” означает, что он очень простой. С ним не идет никаких заранее устанавливаемых внешних библиотек и инструментов. Обычно Flask используют с MongoDB, что позволяет лучше управлять базами данных и историей. Думаю, для введения достаточно. Ведь на самом деле нам интересно то, как он работает, верно? Давайте перейдем к этому. Но перед этим нам нужно разобраться с одним фундаментальным понятием, касающимся фреймворка Flask, маршрутизацией.
Маршруты это всего лишь особые пути. Давайте представим, что вы зашли на сайт и хотите перейти в раздел Mac на . Почему серверы Apple показывают вам именно страницу с подробностями об устройствах Mac? Вероятнее всего, потому что у них на сервере работает веб-приложение, которое распознает, что кто-то, находясь на , перешел в раздел сайта , обрабатывает этот запрос и отправляет пользователю некоторые страницы, чаще всего индексный файл в этом разделе.
«Основы программирования на Python» от НИУ «ВШЭ»
Продолжительность: 9 недель.
Форма обучения: видеоуроки + практические задания + тесты.
Программа обучения:
- Работа с математическими операциями.
- Условия и циклы.
- Новый тип данных.
- Функции и рекурсивные функции.
- Кортежи и списки.
- Методы сортировки.
- Множества и словари.
- Функциональная разработка.
- Классы.
Чему научитесь:
- изучите основной синтаксис и логику языка;
- освоите основы ООП;
- определите дальнейшее направление развития.
Преимущества курса:
- помощь наставников;
- практические задания для каждого урока;
- подходит для начинающих;
Автор курса: Михаил Густокашин, директор центра студенческих олимпиад факультета компьютерных наук НИУ «ВШЭ».
Ускорение ‑ распараллеливание
Если вы решитесь на распараллеливание своей программы, будьте осторожны с реализацией, чтобы не “свалить” сервер. Обязательно прочитайте раздел «Распространенные ошибки», приведенный выше. Ознакомьтесь с определениями параллельного и последовательного выполнения, процессоров и потоков здесь и здесь.
Если вы извлекаете большое количество информации со страницы и выполняете некоторую предварительную обработку данных, количество повторных запросов в секунду, которое вы отправляете на страницу, может быть относительно низким.
В своем другом проекте я собирала цены на аренду квартиры и сделала для этого довольно сложную предварительную обработку данных, в результате чего мне удалось отправлять только один запрос в секунду. Чтобы собрать объявления размером в 4K, моя программа должна проработать около часа.
Чтобы отправлять запросы параллельно, вы можете воспользоваться пакетом multiprocessing.
Допустим, у нас есть 100 страниц, и мы хотим назначить каждому процессу равное количество страниц для обработки. Если — количество процессоров, то вы можете равномерно распределить все страницы на частей и назначить каждую часть отдельному процессору. Каждый процесс будет иметь свое имя, свою целевую функцию и свои аргументы для работы. После этого имя процесса можно использовать для включения записи данных в определенный файл.
Я назначила 1K страниц для каждого из 4-х процессоров, имевшихся у меня в распоряжении, в результате было создано 4 повторных запроса в секунду, что сократило время сбора данных моей программой до 17 минут.
Для веб-разработки
Python имеет очень хорошую поддержку для веб-разработки с его фреймворками, такими как Django, Flask и другими. Он может использоваться для создания веб-приложений на стороне сервера и может быть интегрирован с любым внешним интерфейсом. Обычно разработчики используют JavaScript во внешнем интерфейсе и python для поддержки операций на стороне сервера. Python не используется напрямую в браузерах.
Django является одним из самых популярных веб-фреймворков на Python. Эти инфраструктуры предоставляют пакет, в котором у вас есть определенная структура, с легкостью поддерживает взаимодействие с базой данных; все это настраивается с помощью минимальной команды установки. Если вы хотите что-то минимальное для начала — я рекомендую Flask!
Помимо них, Python имеет большое количество библиотек для веб-разработки.
Пример — доступ к файловой системе компьютера со смартфона.
Вы можете получить доступ к вашей файловой системе, запустив файловый сервер на вашем компьютере. Перейдите в нужный каталог, к которому вы хотите получить доступ, и выполните следующую команду:
Данная команда запускает файловый сервер, к которому можно получить доступ в той же сети. Чтобы получить доступ к своим файлам на мобильном устройстве, просто подключитесь к той же сети (Wi-Fi или воспользуйтесь точкой доступа телефона на ноутбуке). Теперь откройте браузер в вашем телефоне.
Проверьте свой IP, запустив -. Проверьте ваш локальный IP (должен начинаться с 192.168….)
Пример:
И на мобильном телефоне вы увидите текущий каталог
Что такое виртуальные среды или окружения языка Python?
Иногда при написании приложений возникают трудности, которые связаны с применением разных версий библиотек. Могут различаться требуемые версии, бывает нельзя изменять и обновлять библиотеки, также библиотеки могут быть недоступны.
Для того, чтобы эти проблемы не возникали были придуманы виртуальные среды или окружения. В каждой виртуальной среде можно запускать свое приложение с набором библиотек. Изменение или обновление этих библиотек не влияет на остальные приложения также использующие эти библиотеки.
Существует программное обеспечение, позволяющее формировать виртуальное окружение. Оно бывает встроенное в Python и внешнее. В стандартную библиотеку Python 3 входит модуль venv.
Какие компании используют Python
В основном Python используется стартапами и компаниями, которые разрабатывают крупные проекты. Вот лишь часть огромного списка:
- Alphabet использует язык для скраппинга в поисковике Google и реализации сервиса YouTube;
- One Laptop Per Child — для разработки интерфейса и модели функционирования;
- BitTorrent — для реализации сетей peer-to-peer;
- Агентство национальной безопасности США — для шифрования и анализа разведданных;
- ESRI — как инструмент настройки геоинформационных программ;
- Maya — для создания мультипликации;
- Pixar, Industrial Light & Magic — для создания анимационных фильмов;
- Intel, Cisco, HP, Seagate, Qualcomm и IBM — для тестирования;
- JPMorgan Chase, UBS, Getco и Citadel — для прогнозирования финансового рынка;
- NASA, Los Alamos, Fermilab, JPL — для научных вычислений;
- iRobot — для разработки коммерческих роботизированных устройств;
- IronPort — для реализации почтового сервера.
Библиотеки и фреймворки
В Python есть уже встроенные библиотеки, поставляемые вместе с интерпретатором. Они служат для расширения возможностей разработчика при написании программ. Также есть огромное количество внешних библиотек и фреймворков, которые можно подключить и использовать.
Такое количество библиотек дает преимущество, и способствует популярности Python. Например, высокоуровневая библиотека Pandas. Назначение Pandas – это обработка и анализ данных. Она используется в таких профессиях как Data Science и продолжает активно развиваться.
Для того, чтобы жизнь разработчика была легче, разработано множество веб фреймворков. Они позволяют автоматизировать рутинные процессы и задачи. Также фреймворки дают готовую структуру для написания web приложений.
Python бибиотека Pandas
Одним из самых популярных фреймворков с открытым свободным кодом является Django. С его помощь можно не добавлять разные библиотеки отдельно, а установить большинство стандартных функций одним пакетом. В 2010 году с помощью фреймворка Django был создан Instagram и в 2012 году Facebook купил его за миллиард долларов.
Pyramid является еще одним open-source популярным фреймворком. Он универсальный, и дает возможность работать с большими и малыми приложениями. У него хорошее и понятное руководство или пособие. Pyramid используется в тех случаях, когда не требуется разработки полноценной CMS, а хватает веб приложения. Этот фреймворк позволяет быстро собрать проект.
Делать сайты на Python перспективнее?
Да. PHP ограничен одними сайтами и развивается в сторону веб (для чего он и был создан). Python в свою очередь, развивается в разные стороны, это даст вам шанс в будущем сменить свою работу и начать делать, например, программы вместо сайтов не меняя язык программирования. Вам не придется изучать опять новый язык программирования чтобы сменить род деятельности т.е. перескочить с сайтостроения на написание приложении для android, apple, symbian и т.д.
Еще один плюс в сторону Python в том, что он строго типизирован как и Java. Этот язык обучит вас хорошим манерам программиста и не даст волю творить хаос в коде. Но, не будем все обобщать, творить бессмыслицу можно и на Python и делать шедевры на том же PHP. Python научит разделать код на логические блоки чтобы понимать где зона выполнения цикла, где заканчивается один IF и начинается другой и т.д. На PHP тоже можно структурировать код на логические блоки, но там это не обязательно, следовательно новичок может написать код в одну строку и ему ничего не будет, в момент когда Python новичок получит ошибку и начнет править код.
Синтаксис питона
Для того, чтобы было удобнее работать программистам с языком Python был придуман достаточно простой синтаксис. Приведу основные принципы.
- Конец строки обозначает завершение инструкции. Не нужно специально обозначать точкой с запятой или какими — то другими символами;
- Для того, чтобы отделить вложенные блоки друг от друга, используется отступ при помощи табуляции. Как правило, это четыре пробела;
- Основная инструкция заканчивается двоеточием. После нее под строкой располагается вложенная инструкция или блок с отступом в четыре пробела.
Есть еще некоторые специальные случаи, которые лучше рассмотреть отдельно.
Other Useful Items
- Looking for 3rd party Python modules? The
Package Index has many of them. - You can view the standard documentation
online, or you can download it
in HTML, PostScript, PDF and other formats. See the main
Documentation page. - Information on tools for unpacking archive files
provided on python.org is available. -
Tip: even if you download a ready-made binary for your
platform, it makes sense to also download the source.
This lets you browse the standard library (the subdirectory Lib)
and the standard collections of demos (Demo) and tools
(Tools) that come with it. There’s a lot you can learn from the
source! - There is also a collection of Emacs packages
that the Emacsing Pythoneer might find useful. This includes major
modes for editing Python, C, C++, Java, etc., Python debugger
interfaces and more. Most packages are compatible with Emacs and
XEmacs.