Функции и их аргументы
Содержание:
- Включение в последовательность
- Изучаем Python. 4-е издание (2011)
- Что такое питон простыми словами
- Коллекции в Python
- Ответы на вопросы читателей
- Шаг 8: Тренируйтесь каждый день
- Заключение
- Итерации: циклы для структур данных
- Массивы
- Работа с базовыми функциями
- Шаг 1. Разобраться в синтаксисе
- Пусть к совершенству: навыки, необходимые Python-разработчику
- «Python для начинающих» от Code Basics
- Основные инструменты Python-разработчика
- Где используется Python и почему
Включение в последовательность
Операции отображения и фильтрации встречаются так часто, что во многих языках программирования предлагаются способы написания этих выражений в более простых формах. Например, в языке Python возвести список чисел в квадрат можно следующим образом:
Python поддерживает концепцию под названием «включение в последовательность» (от англ. comprehension, в информатике эта операция так же называется описанием последовательности), которая суть изящный способ преобразования одной последовательности в другую. Во время этого процесса элементы могут быть условно включены и преобразованы заданной функцией. Вот один из вариантов общего формата операции включения в список:
В данном общем формате выражение – это выражение или функция с участием переменной, которые возвращают значение, переменная – это элемент последовательности, список – это обрабатываемый список, и выражение2 – это логическое выражение или предикативная функция с участием переменной. Чтобы все стало понятно, приведем простой пример возведения список в квадрат без условия:
Приведенное выше включение в список эквивалентно следующему ниже фрагменту программного кода:
Такая форма записи называется синтаксическим сахаром, т.е. добавленная синтаксическая конструкция, позволяющая записывать выражения в более простых и кратких формах. Неплохой аспект конструкций включения в последовательность состоит еще и в том, что они легко читаются на обычном языке, благодаря чему программный код становится чрезвычайно понятным.
В конструкции включения в последовательность используется математическая запись построения последовательности. Такая запись в теории множеств и логике называется определением интенсионала множества и описывает множество путем определения условия, которое должно выполняться для всех его членов. В сущности, в терминах этих областей науки, выполняя данную операцию в Python, мы «описываем интенсионал» соответственно списка, словаря, множества и итерируемой последовательности. Ниже приведены примеры описания интенсионала соответственно списка, словаря, множества и итерируемой последовательности.
Таблица 1. Формы описания интенсионала
Выражение |
Описание |
Описание списка |
|
Описание словаря |
|
Описание множества |
|
Описание последовательности. Такая форма записи создает генератор последовательности. Генератор – это объект, который можно последовательно обойти (обычно при помощи инструкции ), но чьи значения предоставляются только тогда, когда они требуются, используя ленивое вычисление. |
Отметим, что приведенные в таблице выражения (за исключением описания словаря) отличаются только ограничивающими символами: квадратные скобки применяются для описания списка, фигурные скобки – для описания словаря или множества и круглые скобки – для описания итерируемой последовательности.
Таким образом, примеры из разделов о функциях и легко можно переписать с использованием включения в последовательность. Например, в строке 3 приведенного ниже интерактивного сеанса вместо функции применена операция включения в список:
Обратите внимание на квадратные скобки в определении – они сигнализируют, что в результате этой операции будет создан список. Также стоит обратить внимание, что при использовании в данной конструкции нескольких последовательностей применяется встроенная функция , которая в данном случае объединяет соответствующие элементы каждой последовательности в двухэлементные кортежи
(Если бы последовательностей было три, то они объединялись бы в кортежи из трех элементов и т.д.)
Включение в список применено и в приведенном ниже примере вместо функции :
Квадратные скобки в определении сигнализируют, что в результате этой операции будет создан список. Какой способ обработки последовательностей применять – с использованием функций более высокого порядка или включений, зачастую является предметом личных предпочтений.
Изучаем Python. 4-е издание (2011)
Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечиваемую им высокую скорость разработки. Он позволяет создавать эффективные и надежные проекты, которые легко интегрируются с программами и инструментами, написанными на других языках.
Четвертое издание «Изучаем Python» – это учебник, написанный доступным языком, рассчитанный на индивидуальную скорость обучения и основанный на материалах учебных курсов, которые автор, Марк Лутц, ведет уже на протяжении десяти лет. Издание значительно расширено и дополнено в соответствии с изменениями, появившимися в новой версии 3.0. В книге представлены основные типы объектов в языке Python, порядок их создания и работы с ними, а также функции как основной процедурный элемент языка. Рассматриваются методы работы с модулями и дополнительными объектно-ориентированными инструментами языка Python – классами. Включены описания моделей и инструкций обработки исключений, а также обзор инструментов разработки, используемых при создании крупных программ.
Что такое питон простыми словами
Для того чтобы понять, что такое Python нужно разобраться зачем вообще нужны языки программирования. Они нужны для взаимодействия человека и компьютера. Между собой люди общаются на естественном языке.
Язык программирования Python
Питон является относительно простым высокоуровневым скриптовым языком, который служит для создания различных сценариев. Это означает, что для программирования на Python, не требуется знания машинных кодов — команд для компьютера.
Программирование при помощи машинных кодов ускоряет программу, но очень трудоемко и требует хорошего знания архитектуры компьютера. Одним из таких низкоуровневых языков является ассемблер. Чаще всего низкоуровневое программирование используется в промышленности для специализированных контроллеров, где нет большого объема памяти.
Python может использоваться для программирования контроллеров в станках ЧПУ и в робототехнике. Популярный во всем мире одноплатный микрокомпьютер Raspberry Pi также программируется на питоне. С помощью «малинки» можно программировать роботов, умные дома, квадрокоптеры и множество других вещей. Pi в названии миникомпьютера обозначает, что программирование происходит на Python.
одноплатный микрокомпьютер Raspberry Pi
На языке высокого уровня нужно уметь программировать при помощи понятий, обозначаемых словами. Чаще всего это английский язык, но есть и примеры кодирования на других языках. Например, программу «Бухгалтерия 1С» можно редактировать и изменять на русском.
Питон поддерживает объектно-ориентированное программирование и является интерпретируемым языком. Это означает, что программа выполняется построчно и для ее выполнения на компьютере должен быть установлен интерпретатор. Самым распространенным и популярным интерпретатором является CPython.
Коллекции в Python
Python не реализует массивы так, как это делают другие языки, такие как C и Java. Вместо этого используются списки с переменной длиной и смешанными типами данных. Тем не менее, вы можете определить массивоподобные структуры для числовых типов данных:
import array as python_array a = python_array.array('d', )
К элементам можно получить доступ, используя их индекс:
print(a) print(a) a = 2222
Просто помните, что индексы начинаются с нуля. Вы можете использовать len(), чтобы получить длину массива:
print(len(a)) # вывести длину массива
Как упоминалось выше, массивы в Python отличаются от других языков. Массивы Python не имеют фиксированной длины. Вы всегда можете динамически удалять и добавлять элементы:
# Add three elements to the end of the array # Добавление элементов в конец массива a.append(10) a.append(20) a.append(30) # Remove the first three element # Удаляем первые три элемента a.pop(0)
Полный список функций смотрите в официальной документации Python.
Массив, упомянутый выше, представляет собой оптимизированную специальную форму списка, которая принимает только числовые значения того же типа. Поэтому список может использоваться точно так же, как массив, но вы не ограничены использованием одного типа данных:
li = ]
Как видите, «li» может содержать что угодно в любое время. Все остальные функции, упомянутые выше, работают точно так же, как и для массивов.
Другой тип коллекции — это кортеж. В отличие от элементов в списке, элементы в кортеже не могут быть изменены при инициализации:
# Note the round brackets instead of the square ones
# Обратите внимание на круглые скобки вместо квадратных
tu = (1, 2, 3, «cat», «dog», «parrot»)
Операции вставки, обновления и удаления не будут работать, но элементы по-прежнему будут доступны с помощью их индекса.
Следующая важная структура данных — это множество. Элементы, содержащиеся в нем, не могут быть проиндексированы, как раньше, но вы всегда можете добавить новые элементы и удалить существующие из него. Вы также можете проверить, является ли значение элементом множества:
s = {"pie", "bread", "steak"} print(s.pop()) s.add(30) print(len(s)) s.pop() print(len(s))
Функция pop() здесь не принимает никаких параметров и возвращает удаленный элемент. Вы можете вставить новые элементы с помощью метода add(). Опять же, полный список функций смотрите в .
Последняя структура данных — это словарь. Эта коллекция связывает два значения вместе в отношении ключ-значение, где на каждое значение можно ссылаться, используя уникальный ключ:
telephone_book = { "Peter":9238172, "Laura":1119823, "Mark":9952174, "Liz":8009822 } print("Laura\'s phone number is:") print(telephone_book)
Значения могут быть изменены таким же образом, и len() даст вам длину структуры. Вы можете добавлять элементы, используя новый ключ в качестве индекса и присваивая ему значение:
telephone_book = 5557281 print("Ben\'s phone number is:") print(telephone_book)
Вы можете использовать pop() вместе с ключом, чтобы удалить объект, как со списками.
Ответы на вопросы читателей
Насколько сложно выучить Python? Азы Питона изучаются достаточно просто. Чтобы стать экспертом и высококлассным специалистом потребуется практика и решение реальных задач. Быстро выучить можно, было бы желание.
Какие программы можно создавать, овладев Питоном? Перечень программ органичен лишь фантазией. Разработчики создают порталы и многофункциональные сайты, парсеры, менеджеры баз данных, системы управления ресурсами, чат-боты, программные интерфейсы, сервисы анализа данных, графические оболочки.
Сколько времени потребуется на изучение Питона? Стандартных временных рамок не существует. Однако уже через 1-2 месяца при интенсивной самостоятельной работе с языком можно создавать простые парсеры, небольшие игры, автоматизаторы рутинных задач. А вообще, есть правило 10 тыс. часов – именно столько времени практики потребуется, чтобы посчитать себя специалистом хорошего уровня.
Есть ли слабые стороны у Питона? У любого языка программирования они имеются. Во-первых, скорость работы несколько ниже, чем у компилируемых языков (С++, Java), но ее обычно хватает. Во-вторых, работа с 3d-графикой ограничена. В-третьих, отсутствует проверка типа переменной в момент компиляции.
Какая зарплата у Python-разработчика начинающего уровня? В зависимости от региона она варьируется, но даже Junior-разработчик вполне может рассчитывать на 30-50 тыс. руб. в первые месяцы работы. По мере роста количества навыков лимиты повышаются в разы, а то и десятки раз.
Как лучше учить Python? В наше время методик обучения бесчисленное количество: видеокурсы, книги, игровые платформы, буткампы и пр. Поэтому можно выбрать тот способ, что подходит именно вам. Главное помнить: постоянная практика закрепляет пройденный материал. Простая зубрежка материала не даст никаких видимых результатов.
Где можно посмотреть задачи для новичков, простые проекты? Чтобы попрактиковаться в навыках, необходимо решать разные задачи и сравнивать результаты с другими программистами. Для этого подойдут следующие ресурсы: https://www.codingame.com/, https://www.codewars.com/, https://www.hackerrank.com/. Здесь имеются задания для специалистов любого уровня.
Шаг 8: Тренируйтесь каждый день
Если вы действительно серьезно относитесь к изучению Python для чайников и хотите стать профессиональным программистом, то вам необходимо постоянно совершенствоваться. Мне нравится каждый день пытаться бросить себе вызов, чтобы знать, что я узнаю что-то новое, что я применяю все, что уже изучил, и чтобы я продолжал улучшать мои навыки в Python. Есть много разных способов бросить вызов себе ежедневно. Вот некоторые из моих любимых:
Проверяйте чужой код
Я обнаружил, что работа с чужим кодом является отличным способом изучения Python. Мне нравится заходить на такой сайт, как GitHub, и искать какой-нибудь открытый исходный код, который выглядит интересно. Я загружаю файл кода, открываю его в своем редакторе и работаю над его разбором. Убедитесь, что вы понимаете весь синтаксис и то, что делает каждая строка кода. Делайте заметки, если вам нужно, и вносите улучшения, если можете.
Бросьте вызов
Еще один отличный способ освоить новые навыки Python — это помогать другим людям. Зайдите на ваш любимый форум по программированию и найдите кого-нибудь, кто попросит помочь. Если вы можете, постарайтесь помочь им решить проблему. Это поможет вам улучшить свои навыки решения проблем.
Преимущества
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
Особенности
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения Преимущества
- Огромное разнообразие курсов
- Простая навигация
- Нет технических проблем
Особенности
- Огромное разнообразие курсов
- Политика 30-дневного возврата средств
- Бесплатные сертификаты об окончании
Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения
Complete A Coding Challenge
Вызовы в программировании — это весело, увлекательно и они заставляют вас мыслить нестандартно. Google покажет множество веб-сайтов, предлагающих проблемы в программировании. В большинстве случаев вам будут предоставлены подробные инструкции, и вам потребуется создать программу, которая будет выполнять нужные вам действия.
Заключение
Изучение нового языка программирования может быть трудным. Тем не менее, это пошаговое руководство было тщательно разработано, чтобы помочь вам найти подходящий способ изучения Python с нуля. Я ответил на вопросы, связанные с тем, как изучать «питон язык», мы рассмотрели некоторые ресурсы и методы обучения, которые содержит Python самоучитель. А также было рассказано про то, как можно оттачивать свои навыки программирования.
Я думаю, что эта статья обрисовала в общих чертах подходящий способ изучить Python в самые короткие сроки. Начните с изучения Python, что это такое, и что вы можете с ним сделать. Приобретите Python самоучитель по всем основам, и прорабатывайте его, пока вы не освоитесь с основным синтаксисом и концепциями.
Познакомьтесь с другими ресурсами, такими как справочные руководства и видео, и узнайте, как их использовать максимально эффективно. Узнайте про то, какие ошибки совершают люди при программировании и структурах, а затем начните создавать свои собственные программы. Не забывайте практиковаться так часто, как можете, и сосредоточьтесь на изучении новых вещей каждый раз, когда вы пишете код на Python.
Прежде всего, не забывайте получать удовольствие от программирования!
Итерации: циклы для структур данных
Как описывалось выше — итерации в списках довольно просты. Обычно Python-разработчики используют цикл for. Давайте посмотрим как это выглядит:
bookshelf = for book in bookshelf: print(book)
Таким образом, за каждую книгу на книжной полке(bookshelf) мы вызываем функцию print. Достаточно просто и интуитивно. Это Python.
Для хэш-структуры данных мы используем тот же цикл for, но в качестве счётчика выступает key:
dictionary = { "some_key": "some_value" } for key in dictionary: print("%s --> %s" %(key, dictionary)) # some_key --> some_value
Это пример того как мы используем этот цикл. За каждый ключ в словаре, мы используем print для вывода ключа и его значения.
Также есть другой способ сделать это используя функцию iteritems.
dictionary = { "some_key": "some_value" } for key, value in dictionary.items(): print("%s --> %s" %(key, value)) # some_key --> some_value
Мы назвали наши параметры как key и value, но в этом нет необходимости. Мы можем назвать их как угодно. Давайте проверим это:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } for attribute, value in dictionary_tk.items(): print("My %s is %s" %(attribute, value)) # My name is Leandro # My nickname is Tk # My nationality is Brazilian # My age is 24
В данном примере мы использовали attribute, как параметр для ключей словаря. Как видим, всё работает корректно. Отлично!
Массивы
В массивах «array» хранятся однотипные данные, структурированные определенным образом. Они похожи на списки, но ограничены размером и типом входных данных. Для создания нового массива нужно импортировать библиотеку, которая может с ним работать. Ячейки массива имеют одинаковый размер.
одномерные и многомерные массивы в Python
Массивы бывают одномерными, двумерными, многомерными. Размерность массива можно изменять, поэтому предусмотрена функции, позволяющие измерить его размер. В массиве можно добавлять и удалять элементы.
В качестве примера приведу синтаксис метода для списка: spisok . append (аргумент), где аргументом могут быть данные любого типа и аргумент является обязательным. Название метода записывается после названия списка через точку «. append». Этот метод принимает только один аргумент и вставляет его в конец списка. Синтаксис других методов аналогичен.
Работа с базовыми функциями
Разберём, как устроены базовые функции в Python.
Чтобы записать в переменную V сумму 1 и 1, мы напишем так:
Если мы захотим напечатать переменную V, мы используем функцию:
Напоминаем, что в Python мы не пишем тип переменных.
При спуске этот код выведет нам 2.
Если вы забыли, что делает функция, или нашли новую, вам поможет команда help (): она выпишет основную информацию о функции. Если мы используем ее на функцию print (), это будет выглядеть так:
В программировании мы будем много работать с числами. Все основные математические операции записываются в Python привычным образом, примерно как в калькуляторе:
Есть и операции поинтереснее, менее очевидные:
Иногда в Python можно встретить артефакты вроде такого:
В конце получившегося числа мы неожиданно видим 4. Это просто особенность компьютерного представления данных, и бояться этого не стоит, в большинстве случаев это не имеет значения. Но не забывайте об этой особенности, если вам важны точные числа (как, например, в астрофизике).
Вывод текста. Уже сложилась традиция, что первые слова, которые человек выписывает кодом, это «Hello, World!». Сделаем это и мы.
Мы уже выводили выше переменную, теперь выведем текст. Сделать это в Python очень просто:
Иногда (например, в цикле) надо выводить одно и то же с небольшим изменением. Для этого используется форматированный вывод. Это делается так: заменим часть, которая будет меняться, фигурными скобками, а за фразой напишем .format (). В скобки вставим переменную с нужным значением. Вот как это выглядит:
В некоторых версиях Python можно сделать то же самое и другим способом:
Результат будет один и тот же. Если у вас работают обе версии, то делайте так, как вам больше нравится.
Как устроены операции сравнения в Python
- Операции сравнения будут возвращать ответ в виде правда/неправда: True/False.
- Для проверки на равенство используются два знака «равно».
- Для проверки на неравенство используется восклицательный знак (знак отрицания) со знаком «равно».
Например:
Шаг 1. Разобраться в синтаксисе
Разработчики называют код на Python понятным и лаконичным. В этом нет ни грамма лести: всё в рамках . Тем не менее, немного поработать всё же придётся. Переменные, циклы, условия, функции, операторы — всё это можно назвать основой языка, без которой не обойтись.
Знакомиться с синтаксисом можно по-разному. Вот несколько способов, которые можем посоветовать:
— Читайте книги. Недавно мы публиковали подборку книг для тех, кто изучает Python. Чтобы было удобнее, разбили её на несколько частей: от самых азов до сложных практических задач. Пробуйте читать книги из списка и выбирайте самую подходящую по манере изложения и балансу между теорией и практикой.
— Штудируйте официальную документацию. Способ для тех, кто ладит с английским и готов довериться теории с официального сайта Python. Заходите в раздел «С чего начать» и двигайтесь от пункта к пункту.
— Смотрите обучающие видео на YouTube и образовательных платформах.
Открытое занятие Нетологии «Создаём скрипт на Python с нуля»
Пусть к совершенству: навыки, необходимые Python-разработчику
Программисту нужно запоминать огромное количество информации, в каждой сфере программирования используются уникальные инструменты, выучить их все невозможно. Однако существуют определенные базовые знания и навыки, которые актуальны не только по прошествии времени, но и для разных сфер программирования.
Алгоритмы
Сложно поверить, но программисты тратят большую часть времени не на написание кода, а на обдумывание структуры программы, организации её работы.
Каждый специалист должен уметь находит нужные алгоритмы, позволяющие сделать эффективную и оптимизированную программу.
На самом деле, подавляющее большинство алгоритмов и решений уже придумано, поэтому далеко не всегда имеет смысл придумывать что-то своё
Однако, важно правильно выбрать одно из множества придуманных решений. Например, на сегодняшний день придумано много алгоритмов сортировки массива, таких как сортировка пузырьком, слиянием, быстрая сортировка и так далее
Каждый алгоритм имеет свои преимущества и недостатки, что-то используется чаще, что-то подойдет только в особых случаях. Программисты не придумывают новый алгоритм сортировки для каждого нового проекта, однако они должны выбрать тот, который наиболее подходит для его эффективной реализации.
Умение искать информацию
Python имеет большое интернет-сообщество. Когда возникает какая-то проблема, на 99% можно быть уверенным, что её решение есть в интернете. Оно может быть не идеальным, возможно, его придётся немного изменить для проекта, однако оно есть.
Интернет делает информацию доступной, программист может найти здесь всё необходимое, однако, доступность информации порождает проблему её избыточности. Запрос в поисковой системе не приведёт сразу к нужному решению, большинство информации будет бесполезной. Поэтому каждый Python-разработчик должен уметь находить в огромном объёме информации нужную.
Понимание работы OC
Любой проект так или иначе связан с операционной системой, потому что операционная система — архитектурный уровень компьютера, который связывает аппаратную часть с программной.
Программист на Python должен понимать, что такое процессы, потоки, память.
Понимание ООП
Объектно-ориентированное программирование — это парадигма, без которой невозможна поддержка крупных проектов. ООП используется везде, начиная от разработки игр, заканчивая написанием сайтов.
Python-разработчик должен понимать основные принципы ООП, уметь работать с синтаксисом классов и всем, что с ними связано. Кроме того, он должен обладать навыками, позволяющими строить эффективную структуру приложений.
Работа с командной строкой
Графический интерфейс операционной системы не может дать программисту все необходимые инструменты, что ограничивает его возможности.
Умение работать с командной строкой или терминалом будет полезным навыком, который к тому же часто проверяется на собеседованиях.
Понимание работы интернета
Это особенно актуально для web-разработчика на Python, однако, сейчас с интернетом связаны не только сайты, но и приложения. Поэтому программист должен понимать основные принципы работы глобальной сети, чтобы можно было взаимодействовать с кодом, который пишет команда программистов, занимающаяся разработкой backend составляющей приложения.
Системы контроля версий (git)
Любой проект должен быть связан с системой контроля версий. Это позволит сохранять состояния проекта и, при необходимости, откатывать проект на более ранней версии, например, если возник баг, который нельзя отследить.
«Python для начинающих» от Code Basics
Продолжительность: 69 занятий.
Форма обучения: текстовые уроки с проверкой знаний.
- Привет, Мир!
- Комментарии.
- Инструкции.
- Как мы проверяем ваши решения.
- Синтаксические ошибки.
- Арифметические операции.
- Операторы.
- Коммутативная операция.
- Композиция операций.
- Приоритет.
- Линтер.
- Кавычки.
- Экранированные последовательности.
- Конкатенация.
- Кодировка.
- Типы данных.
- Сильная типизация.
- Явное преобразование типов.
- Что такое переменная.
- Изменение переменной.
- Выбор имени переменной.
- Ошибки при работе с переменными.
- Выражения в определениях.
- Переменные и конкатенация.
- Именование переменных.
- Магические числа.
- Константы.
- Интерполяция.
- Извлечение символов из строки.
- Multi-line строки.
- Функции и их вызов.
- Сигнатура функции.
- Стандартная библиотека.
- Аргументы по умолчанию.
- Вызов функции — выражение.
- Выражения как аргументы.
- Вызов функций в аргументах функций.
- Детерминированность.
- Побочные эффекты.
- Неизменяемость и примитивные типы.
- Создание (определение) функции.
- Передача одного аргумента.
- Передача нескольких аргументов.
- Возврат значений.
- Возврат по умолчанию.
- Параметры по умолчанию.
- Именование.
- Окружение.
- Логический тип.
- Предикаты.
- Комбинирование операций и функций.
- Логические операторы.
- Отрицание.
- Логические операторы 2.
- Условная конструкция.
- else.
- else + if = elif.
- Тернарный оператор.
- Истинность выражений.
- Цикл While.
- Агрегация данных (Числа).
- Агрегация данных (Строки).
- Обход строк.
- Условия внутри тела цикла.
- Формирование строк в циклах.
- Пограничные случаи.
- Синтаксический сахар.
- Возврат из циклов.
- Цикл For.
Чему научитесь:
- устанавливать программное обеспечение для разработки;
- изучите синтаксис и управляющие конструкции языка.
Основные инструменты Python-разработчика
Изучение Питона не может быть полноценным без набора полезных инструментов под рукой. Мы собрали небольшой список и разделили его на категории.
Базовые
- Pip — популярный менеджер пакетов в Python, с помощью которого можно устанавливать и управлять программными пакетами.
- Pipenv — инструмент для управления виртуальным окружением в Python.
- Setuptools — целый набор инструментов для создания пакетов в Python.
- Virtualenv — инструмент для создания виртуального окружения с пакетами.
Документация
- Sphinx — генератор документации, который изначально создавался для работы с Python, но впоследствии стал инструментом общего пользования.
- autodoc — расширение Sphinx для создания reStructuredText файлов из исходного кода.
Тестирование
- py.test — платформа для тестирования на Python со множеством функций. Инструмент автоматически находит тесты, запускает их и выводит отчёты.
- Selenium WebDriver — в тандеме с другими инструментами позволяет эффективно тестировать веб-приложений.
- unittest — модуль инструментов с настройкой используемых данных, управлением комплектами и наборами тестов, возможностью запускать тесты в графическом или текстовом режиме.
Где используется Python и почему
В последние 5 лет Питон непрерывно находится в тройке самых популярных языков программирования. У него есть ряд сильных сторон, которые привлекают разработчиков со всего мира.
К типичным областям использования Python относят:
- Веб-разработка (сайты любой сложности и функциональности без проблем создаются при помощи данного языка);
- Работа с базами данных (можно работать как с «встроенной» sqlite3, так и любыми другими – реляционными и нереляционными);
- Графические приложения (реально не просто писать исполняемые скрипты, но и разрабатывать полноценные графические интерфейсы под свои нужды);
- Научные задачи (сложные вычисления, машинное обучение, нейронные сети);
- Сетевое программирование (включает не только взаимодействие с сайтами, но и почтовыми сервисами, JSON-объектами, Интернет-протоколами);
- Бизнес-приложения и игровая индустрия (ERP-системы, непрерывная разработка и тестирование, простые игры).
Озвученный спектр направлений показывает, что Питон имеет определенные преимущества по сравнению с другими языками, раз он пригоден для такого широкого класса задач.
Основные показаны ниже (рис. 1).
Сильные стороны языка Python
Простота подразумевает легкость освоения и высокий уровень абстракции (минимум кода при максимальном эффекте).
Выразительность связана с минимальным количеством кода для достижения результата (некоторые особенности Питона сокращают объем кода чуть ли не до одной строки, если сравнивать с другими языками).
Скрипты на Python’e легко читать: нет лишних символов, нагромождения скобок, дополнительных уточнений.
Полнота демонстрирует масштаб встроенных и сторонних библиотек под специфичные нужды (не нужно с нуля создавать функционал, ведь его уже кто-то реализовал).
Немаловажно и то, что исходный код Python свободно распространяется. Любая редакция языка доступна каждому как для личных, так и коммерческих нужд
Кроссплатформенность в дополнение ко всему гарантирует достижение идентичных результатов что на Windows, Linux, MacOS, так и на мобильных системах.
Отметим, также, ключевые плюсы и минуса Питона (таблица 1).
Плюсы | Минусы |
Легко изучать, писать и читать код | Относительно медленный |
Интерпретируемый (исполняет код на лету) | Не всегда эффективно расходует память |
Динамически типизированный | Ограничен в мобильной разработке |
С открытым исходным кодом | При исполнении могут возникать ошибки, что требует тщательного тестирования |
Имеет широкую поддержку |
Таблица 1 – Сильные и слабые стороны Python’a