Книга «Чистый Python. Тонкости программирования для профи» / Блог компании Издательский дом «Питер» / Хабр
Привет, Хаброжители! Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня.Если у вас есть опыт работы со старыми версиями Python, вы сможете ускорить работу с современными шаблонами и функциями, представленными на Python 3.
Если вы работали с другими языками программирования и хотите перейти на Python, то найдете практические советы, необходимые для того, чтобы стать эффективным питонистом.
Если вы хотите научиться писать чистый код, то найдете здесь самые интересные примеры и малоизвестные трюки.
Отрывок «Самое сумасшедшее выражение-словарь на западе»
Иногда вы наталкиваетесь на крошечный пример кода, который обладает поистине неожиданной глубиной — одна-единственная строка кода, которая способна многому научить, если хорошенько над ней поразмыслить. Такой фрагмент код — это как коан в дзен-буддизме: вопрос или утверждение, используемое в практике дзен, чтобы вызвать сомнение и проверить достижения ученика.
Крошечный фрагмент кода, который мы обсудим в этом разделе, является одним из таких примеров. На первый взгляд он может выглядеть как прямолинейное выражение-словарь, но при ближайшем рассмотрении он отправляет вас в расширяющий сознание психоделический круиз по интерпретатору СPython.
От этого однострочника я получаю такой кайф, что как-то раз я даже напечатал его на своем значке участника конференции по Python в качестве повода для беседы. Это привело к нескольким конструктивным диалогам с участниками моей электронной рассылки по Python.
Итак, без дальнейших церемоний, вот этот фрагмент кода. Возьмите паузу, чтобы поразмышлять над приведенным ниже выражением-словарем и тем, к чему его вычисление должно привести:
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
Я подожду здесь…
О’кей, готовы?
Ниже показан результат, который мы получим при вычислении приведенного выше выражения-словаря в сеансе интерпретатора Python:
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
{True: 'возможно'}
Признаюсь, когда увидел этот результат впервые, я был весьма ошарашен. Но все встанет на свои места, когда вы проведете неспешное пошаговое изучение того, что тут происходит. Давайте поразмыслим, почему мы получаем этот, надо сказать, весьма не интуитивный результат.
Тогда, когда мы его разложим на части, наше выражение-словарь будет эквивалентно приведенной ниже последовательности инструкций, которые исполняются по порядку:
>>> xs = dict()
>>> xs[True] = 'да'
>>> xs[1] = 'нет'
>>> xs[1.0] = 'возможно'
Как ни странно, Python считает все ключи, используемые в этом примере словаря, эквивалентными:
>>> True == 1 == 1.0 True
Ладно, но погодите минуточку. Уверен, вы сможете интуитивно признать, что 1.0 == 1, но вот почему True считается также эквивалентным и 1? В первый раз, когда я увидел это выражение-словарь, оно действительно меня озадачило.
Немного покопавшись в документации Python, я узнал, что Python рассматривает тип bool как подкласс типа int. Именно так обстоит дело в Python 2 и Python 3:
Булев тип — это подтип целочисленного типа, и булевы значения ведут себя, соответственно, как значения 0 и 1 почти во всех контекстах, при этом исключением является то, что при преобразовании в строковый тип, соответственно, возвращаются строковые значения ‘False’ или ‘True’.
И разумеется, это означает, что в Python булевы значения технически можно использовать в качестве индексов списка или кортежа:
>>> ['нет', 'да'][True]
'да'
Но вам, пожалуй, не следует использовать подобного рода логические переменные во имя ясности (и душевного здоровья ваших коллег).
Так или иначе, вернемся к нашему выражению-словарю.
Что касается языка Python, то все эти значения — True, 1 и 1.0 — представляют одинаковый ключ словаря. Когда интерпретатор вычисляет выражение-словарь, он неоднократно переписывает значение ключа True. Это объясняет, почему в самом конце результирующий словарь содержит всего один ключ.
Прежде чем мы пойдем дальше, взглянем еще раз на исходное выражение-словарь:
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
{True: 'возможно'}
Почему здесь в качестве ключа мы по-прежнему получаем True? Разве не должен ключ из-за повторных присваиваний в самом конце тоже поменяться на 1.0?
После небольших изысканий в исходном коде интерпретатора Python я выяснил, что, когда с объектом-ключом ассоциируется новое значение, словари Python сам этот объект-ключ не обновляют:
>>> ys = {1.0: 'нет'}
>>> ys[True] = 'да'
>>> ys
{1.0: 'да'}
Безусловно, это имеет смысл в качестве оптимизации производительности: если ключи рассматриваются идентичными, то зачем тратить время на обновление оригинала?
С тем, что мы знаем теперь, по всей видимости, значения в результирующем словаре переписываются только потому, что сравнение всегда будет показывать их как эквивалентные друг другу. Вместе с тем оказывается, что этот эффект не является следствием проверки на эквивалентность методом __eq__ тоже.
Словари Python опираются на структуру данных хеш-таблица. Когда я впервые увидел это удивительное выражение-словарь, моя первая мысль заключалась в том, что такое поведение было как-то связано с хеш-конфликтами.
Дело в том, что хеш-таблица во внутреннем представлении хранит имеющиеся в ней ключи в различных «корзинах» в соответствии с хеш-значением каждого ключа. Хеш-значение выводится из ключа как числовое значение фиксированной длины, которое однозначно идентифицирует ключ.
Этот факт позволяет выполнять быстрые операции поиска. Намного быстрее отыскать числовое хеш-значение ключа в поисковой таблице, чем сравнивать полный объект-ключ со всеми другими ключами и выполнять проверку на эквивалентность.
Вместе с тем способы вычисления хеш-значений, как правило, не идеальны. И в конечном счете два или более ключа, которые на самом деле различаются, будут иметь одинаковое производное хеш-значение, и они в итоге окажутся в той же самой корзине поисковой таблицы.
Исходя из этой оценки, весьма вероятно, что хеширование как-то связано с неожиданным результатом, который мы получили из нашего выражения-словаря. Поэтому давайте выясним, играют ли хеш-значения ключей здесь тоже какую-то определенную роль.
Я определяю приведенный ниже класс как небольшой сыскной инструмент:
class AlwaysEquals: def __eq__(self, other): return True def __hash__(self): return id(self)
Этот класс характерен двумя аспектами.
Во-первых, поскольку дандер-метод __eq__ всегда возвращает True, все экземпляры этого класса притворяются, что они эквивалентны любому объекту:
>>> AlwaysEquals() == AlwaysEquals()
True
>>> AlwaysEquals() == 42
True
>>> AlwaysEquals() == 'штаа?'
True
И во-вторых, каждый экземпляр AlwaysEquals также будет возвращать уникальное хеш-значение, генерируемое встроенной функцией id():
>>> objects = [AlwaysEquals(), AlwaysEquals(), AlwaysEquals()] >>> [hash(obj) for obj in objects] [4574298968, 4574287912, 4574287072]
В Python функция id() возвращает адрес объекта в оперативной памяти, который гарантированно является уникальным.
При помощи этого класса теперь можно создавать объекты, которые притворяются, что они являются эквивалентными любому другому объекту, но при этом с ними будет связано уникальное хеш-значение. Это позволит проверить, переписываются ли ключи словаря, опираясь только на результат их сравнения на эквивалентность.
И, как вы видите, ключи в следующем ниже примере не переписываются, несмотря на то что сравнение всегда будет показывать их как эквивалентные друг другу:
>>> {AlwaysEquals(): 'да', AlwaysEquals(): 'нет'} { <AlwaysEquals object at 0x110a3c588>: 'да', <AlwaysEquals object at 0x110a3cf98>: 'нет' }
Мы также можем взглянуть на эту идею с другой стороны и проверить, будет ли возврат одинакового хеш-значения достаточным основанием для того, чтобы заставить ключи быть переписанными:
class SameHash:
def __hash__(self):
return 1
Сравнение экземпляров класса SameHash будет показывать их как не эквивалентные друг другу, но они все будут обладать одинаковым хеш-значением, равным 1:
>>> a = SameHash()
>>> b = SameHash()
>>> a == b
False
>>> hash(a), hash(b)
(1, 1)
Давайте посмотрим, как словари Python реагируют, когда мы пытаемся использовать экземляры класса SameHash в качестве ключей словаря:
>>> {a: 'a', b: 'b'} { <SameHash instance at 0x7f7159020cb0>: 'a', <SameHash instance at 0x7f7159020cf8>: 'b' }
Как показывает этот пример, эффект «ключи переписываются» вызывается не одними только конфликтами хеш-значений.
Словари выполняют проверку на эквивалентность и сравнивают хеш-значение, чтобы определить, являются ли два ключа одинаковыми. Попробуем резюмировать результаты нашего исследования.
Выражение-словарь {True: ‘да’, 1: ‘нет’, 1.0: ‘возможно’} вычисляется как {True: ‘возможно’}, потому что сравнение всех ключей этого примера, True, 1, и 1.0, будет показывать их как эквивалентные друг другу, и они все имеют одинаковое хеш-значение:
>>> True == 1 == 1.0
True
>>> (hash(True), hash(1), hash(1.0))
(1, 1, 1)
Пожалуй, теперь уже не так удивительно, что мы получили именно такой результат в качестве конечного состояния словаря:
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
{True: 'возможно'}
Здесь мы затронули много тем, и этот конкретный трюк Python поначалу может не укладываться в голове — вот почему в самом начале раздела я сравнил его с коаном в дзен.
Если вы с трудом понимаете, что происходит в этом разделе, попробуйте поэкспериментировать по очереди со всеми примерами кода в сеансе интерпретатора Python. Вы будете вознаграждены расширением своих познаний о внутренних механизмах языка Python.
» Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок
Для Хаброжителей скидка 20% по купону — Python
habr.com
Программирование на python для начинающих: изучаем питон
Дэвид Бизли — Python. Подробный справочник
18.05.2011
Книга является попыткой создать “выжимку” знаний по языку Python, ухватить саму суть и изложить читателю. Насколько удачной получилась эта попытка судить уже только читателям. По уверениям автора, книжка не может являться учебником по языку Python.
Язык программирования Python 3 для начинающих и чайников
Написана она для опытных программистов, которые уже имели опыт взаимодействия с языками C или Java.
В первой части этой 860-страничной брошюры кратко рассказывается о языке программирования Python как таковом — как всегда описываются операторы, структуры программ, функции, классы и прочее.
Имеется пара глав, посвященных среде выполнения, также тестированию, отладке и профилированию (doctest, unittest, отладчик Python, …).
Вторая часть содержит рассказ о стандартной библиотеке Python — встроеные функции, службы Python времени выполнения, работа с текстом и строками, подключение к БД. Есть глава посвященная обработке математических данных, также представлены различные известные алгоритмы и пути упрощения кода. Не забыто многопоточное программирование, а также работа с сетью. Отдельно рассказано о разработке Web-приложений, обработке и представлении данных в Интернет.
На мой взгляд, книга хорошо подойдет для начинающих программистов в качестве настольного справочника. Столкнулся с чем-то пока не известным — открыл книжку, нашел главку, пробежал ее за 10 минут и дальше кодить 🙂
Год издания: 2010
Формат: PDF (качество очень хорошее)
Издательство: Символ
Издание: 4-ое
Скачано: 21092 раз
Купить бумажную версию
Скачать книгу
Комментарии
Ray, 04.06.2011 10:00
Отличная книга. Настоятельно рекомендую. Помимо самого языка рассмотрена стандартная библиотека. На протяжении всей книги автор уточняет различные моменты относительно Python2 и Python3.
Никита, 17.06.2011 12:08
О, самое то! Как раз сейчас изучаю Django! Некоторые моменты не понятны, думаю, эта книга поможет! Спасибо большое за эту книгу! 🙂
Miras, 26.07.2012 09:04
Thanx!
Miras, 26.07.2012 09:04
Thanx
С. Брин, 30.08.2012 08:47
Хорошая книга. Пиши еще.
Vladimir, 20.12.2013 02:46
Спасибо, хорошая книжка
Олег, 01.02.2014 15:38
Спасибо
Nik, 22.04.2015 04:57
Спасибо)
007, 22.05.2015 19:20
super книга
Юрий, 25.11.2015 02:46
Спасибо.
Бахмай, 30.12.2015 11:41
Спасибо огромное за такой сайт.
максим, 16.01.2016 08:59
спасиба за трудности. а если есть скажите мне где можно скачать для начинающих?
qwerty, 11.12.2016 03:44
Еще не читал — нечего коментировать
Adil, 16.07.2017 23:44
Не понравилась книга, обрывчатая
Оставить комментарий
steptosleep.ru
Основы Python в кратком изложении / Хабр
Когда-то давным давно, на одном закрытом форуме я пытался проводить обучение Пайтону. В общем дело там заглохло. Мне стало жалко написанных уроков, и я решил их выложить для широкой общественности. Пока самый первый, самый простой. Дальше идет интереснее, но может быть это будет не интересно. В общем, этот пост будет пробным шаром, если понравится, буду выкладывать дальше.Python для начинающих. Глава первая. «О чем это мы»
На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
— Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
— Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
— Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
— Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)
И это конечно далеко не полный список проектов, использующих этот замечательный язык.
1. Сам интерпретатор, его можно взять тут (http://python.org/download/).
2. Среда разработки. Она для начала необязательна, да и идущий в дистрибутиве IDLE подойдет новичку, но для серъезных проектов нужно что-то посерьезней.
Для Windows я использую замечательный легковесный PyScripter (http://tinyurl.com/5jc63t), для Linux – Komodo IDE.
Хотя для первого урока достаточно будет просто интерактивной оболочки самого Пайтона.
Просто запустите python.exe. Приглашение ввода не заставит себя долго ждать, оно выглядит так:
>>>
Также можно записывать программы в файлы с расширением py, в вашем любимом текстовом редакторе, который не добавляет к тексту своих символов разметки (нет Word не подойдет). Также желательно чтобы этот редактор умел делать «умные табуляторы» и не заменял пробелы знаком табуляции.
Для запуска файлов на исполнение по ним можно щелкать 2 раза. Если консольное окно закрывается слишком быстро, вставьте в конце программы следующую строку:
raw_input()
Тогда интерпретатор будет в конце программы ждать нажатия enter.
Или ассоциируйте py-файлы в Far с Пайтоном и открывайте нажимая enter.
Наконец можно воспользоваться одной из многих удобных IDE для Пайтона, которые предоставляют и возможности отладки и подсветку синтаксиса и многие другие «удобства».
Немного теории.
Для начала, Пайтон – язык со строгой динамической типизацией. Что это означает?
Есть языки со строгой типизацией (pascal, java, c и т.п.), у которых тип переменной определяется заранее и не может быть изменен, и есть языки с динамической типизацией (python, ruby, vb), в которых тип переменной трактуется в зависимости от присвоенного значения.
Языки с динамической типизацией можно разделить еще на 2 вида. Строгие, которые не допускают неявного преобразования типа (Пайтон) и нестрогие, которые выполняют неявные преобразования типа (например VB, в котором можно легко сложить строку ‘123’ и число 456).
Разобравшись с классификацией Пайтона, попробуем немного «поиграть» с интерпретатором.
>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a, b (2, 1)
Таким, образом мы видим что присваивание осуществляется с помощью знака =. Присвоить значение можно сразу нескольким переменным. При указании интерпретатору имени переменной в интерактивном режиме, он выводит ее значение.
Следующее, что необходимо знать – как строятся базовые алгоритмические единицы – ветвления и циклы. Для начала, необходима небольшая справка. В Пайтоне нет специального ограничителя блоков кода, их роль выполняют отступы. То есть то что написано с одинаковым отступом – является одним командным блоком. Поначалу это может показаться странным, но после легкого привыкание, понимаешь что эта «вынужденная» мера позволяет получать очень читабельный код.
Итак условия.
Условие задается с помощью оператора if, который заканчивается «:». Альтернативные условия которые будут выполняться если первая проверка «не прошла» задаются оператором elif. Наконец else задает ветку, которая будет выполнена если ни одно из условий не подошло.
Обратите внимание, что после ввода if интерпретатор с помощью приглашения «…» показывает что он ожидает продолжения ввода. Чтобы сообщить ему что мы закончили, необходимо ввести пустую строку.
(Пример с ветвлениями почему-то рвет разметку на хабре, не смотря на танцы с тегами pre и code. Простите за неудобство, я его кинул сюда pastebin.com/f66af97ba, если кто-то подскажет что не так — буду очень признателен)
Циклы.
Простейшим случаем цикла является цикл while. В качестве параметра он принимает условие и выполняется до тех пор, пока оно истино.
Вот маленький пример.
>>> x = 0 >>> while x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10
Обратите внимание что поскольку и print x и x+=1 написаны с одинаковым отступом, они считаются телом цикла (помните что я говорил про блоки? 😉 ).
Второй вид циклов в Пайтон – цикл for. Он аналогичен циклу foreach других языков. Его синтаксис условно таков.
for переменная in список:
команды
Переменной будут присваиваться по очереди все значения из списка (на самом деле там может быть не только список, но и любой другой итератор, но не будем пока этим забивать голову).
Вот простой пример. В роли списка будет выступать строка, которая является ничем иным как списком символов.
>>> x = "Hello, Python!" >>> for char in x: ... print char ... H e l ........... !
Таким образом мы можем разложить строку по символам.
Что же делать если нам нужен цикл, повторяющийся определенное число раз? Очень просто, на помощь придет функция range.
На входе она принимает от одного до трех параметров, на выходе возвращает список чисел, по которому мы можем «пройтись» оператором for.
Вот несколько примеров использования функции range, которые объясняют роль ее параметров.
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(2, 12) [2, 3, 4, 5, 6, 7, 8, 9, 10, 11] >>> range(2, 12, 3) [2, 5, 8, 11] >>> range(12, 2, -2) [12, 10, 8, 6, 4]
И маленький пример с циклом.
>>> for x in range(10): ... print x ... 0 1 2 ..... 9
Ввод-вывод
Последнее, что следует знать перед тем как начать использовать Пайтон полноценно – это как осуществляется в нем ввод-вывод.
Для вывода используется команда print, которая выводит на печать все свои аргументы в удобочитаемом виде.
Для ввода с консоли используется функция raw_input(приглашение), которая выводит на экран приглашение и ожидает ввода пользователя, возвращая то что ввел пользователь в виде своего значения.
x = int(raw_input ("Введи число:")) print "Квадрат этого числа составляет ", x * x
Внимание! Несмотря на существование функции input() схожего действия, использовать ее в программах не рекомендуется, так как интерпретатор пытается выполнить вводимые с ее помощью синтаксические выражения, что является серьезной дырой в безопасности программы.
Вот и все для первого урока.
Домашнее задание.
1. Составить программу расчета гипотенузы прямоугольного треугольника. Длина катетов запрашивается у пользователя.
2. Составить программу нахождения корней квадратного уравнения в общем виде. Коэффициенты запрашиваются у пользователя.
3. Составить программу вывода таблицы умножения на число M. Таблица составляется от M * a, до M * b, где M, a, b запрашиваются у пользователя. Вывод должен осуществляется в столбик, по одному примеру на строку в следующем виде (например):
5 х 4 = 20
5 х 5 = 25
И так далее.
habr.com
Книги по Python | ForCoder
Книга предоставит вам доступ в мир прогнозной аналитики и продемонстрирует, почему Python является одним из лидирующих языков науки о данных. Охватывая широкий круг мощных библиотек Python, в том числе scikit-learn, Theano и Keras, предлагая руководство и советы по всем вопросам, начиная с анализа мнений и заканчивая нейронными сетями, книга ответит на большинство ваших вопросов по машинному обучению.
Издание предназначено для специалистов по анализу данных, находящихся в поисках более широкого и практического понимания принципов машинного обучения.
8,847 просмотров всего, 3 просмотров сегодня
Никогда не программировали, но мечтаете научиться? Знаменитая на весь мир авторская методика Зеда Шоу поможет вам сделать первые шаги в освоении одного из самых увлекательных и востребованных сегодня языков программирования, Python. Читайте упражнения, копируйте примеры и запускайте свои первые программы абсолютно без труда!
12,744 просмотров всего, 6 просмотров сегодня
Перед вами – увлекательная книга, которую по достоинству оценит любой неравнодушный программист и даже бывалый питонщик. Она составлена на основе одноименного онлайнового руководства docs.python-guide.org/en/latest/ и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.
6,469 просмотров всего, 1 просмотров сегодня
Описан язык Python 3: типы данных, операторы, условия, циклы, регулярные выражения, функции, инструменты объектно-ориентированного программирования, работа с файлами и каталогами, часто используемые модули стандартной библиотеки. Приведены основы базы данных SQLite, интерфейс доступа к базе и способы получения данных из Интернета. Особое внимание уделено библиотеке PyQt 5, позволяющей создавать приложения с графическим интерфейсом на языке Python. Рассмотрены средства для обработки сигналов и событий, управления свойствами окна, разработки многопоточных приложений, описаны основные компоненты (кнопки, текстовые поля, списки, таблицы, меню, панели инструментов и др.), варианты их размеще-ния внутри окна, инструменты для работы с базами данных, мультимедиа, печати документов и экспорта их в формате Adobe PDF. На сайте издательства приведены все примеры из книги.
11,450 просмотров всего, 1 просмотров сегодня
Data Science – это совокупность понятий и методов, позволяющих придать смысл и понятный вид огромным объемам данных.
Каждая из глав этой книги посвящена одному из самых интересных аспектов анализа и обработки данных. Вы начнете с теоретических основ, затем перейдете к алгоритмам машинного обучения, работе с огромными массивами данных, NoSQL, потоковым данным, глубокому анализу текстов и визуализации информации. В многочисленных практических примерах использованы сценарии Python.
Обработка и анализ данных – одна из самых горячих областей IT, где постоянно требуются разработчики, которым по плечу проекты любого уровня, от социальных сетей до обучаемых систем. Надеемся, книга станет отправной точкой для вашего путешествия в увлекательный мир Data Science.
7,046 просмотров всего, 2 просмотров сегодня
Машинное обучение стало неотъемлемой частью различных коммерческих и исследовательских проектов, однако эта область не является прерогативой больших компаний с мощными аналитическими командами. Даже если вы еще новичок в использовании Python, эта книга познакомит вас с практическими способами построения систем машинного обучения. При всем многообразии
данных, доступных на сегодняшний день, применение машинного обучения ограничивается лишь вашим воображением.
Вы изучите этапы, необходимые для создания успешного проекта машинного обучения, используя Python и библиотеку scikit-learn. Авторы Андреас Мюллер и Сара Гвидо сосредоточили свое внимание на практических аспектах применения алгоритмов машинного обучения. Знание библиотек NumPy и matplotlib позволит вам извлечь из этой книги еще больше полезной информации.
С помощью этой книги вы изучите:
Фундаментальные понятия и сферы применения машинного обучения
Преимущества и недостатки широко используемых алгоритмов машинного обучения
Способы загрузки данных, обрабатываемых в ходе машинного обучения, включая различные аспекты работы с данными
Продвинутые методы оценивания модели и тонкая настройка параметров
Принципы построения конвейеров для объединения моделей в цепочки и инкапсуляции рабочего потока
Методы работы с текстовыми данными
Рекомендации по улучшению навыков, связанных с машинным обучением и наукой о данных
Машинное обучение стало неотъемлемой частью различных коммерческих и исследовательских проектов, начиная от постановки медицинского диагноза c последующим лечением и заканчивая поиском друзей в социальных сетях. Многие полагают, что машинное обучение могут использовать только крупные компании, обладающие мощными командами аналитиков
В книге «Введение в машинное обучение с помощью Python» описывается как можно самостоятельно и c удивительной легкостью построить модели машинного обучения (Machine Learning, ML). Прочитав эту книгу, вы сможете построить свою собственную систему машинного обучения, которая позволит выяснить настроения пользователей Твиттера или получить прогнозы по поводу глобального потепления
Машинное обучение заключается в извлечении знаний из данных. Это научная область, находящаяся на пересечении статистики, искусственного интеллекта и компьютерных наук и также известная как прогнозная аналитика или статистическое обучение. В последние годы применение методов машинного обучения в повседневной жизни стало обыденным явлением
Книга «Введение в машинное обучение с помощью Python» является вводной и не требует предварительных знаний в области машинного обучения или искусственного интеллекта
Область применения машинного обучения безгранична и, учитывая все многообразие данных, имеющихся на сегодняшний день, ограничивается лишь вашим воображением
7,458 просмотров всего, 5 просмотров сегодня
Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих плюс дополнительные материалы.
Если вам когда-либо приходилось тратить часы на переименование файлов или обновление сотен ячеек электронных таблиц, то вы знаете, что такое рутинная работа. А что если поручить компьютеру выполнять такую работу вместо вас?
Книга научит вас использовать Python для написания программ, способных в считанные минуты сделать то, на что раньше у вас уходили часы ручного труда, причем никакого опыта программирования от вас не требуется. Как только вы овладеете основами программирования, вы сможете создавать программы на языке Python, которые будут без труда выполнять в автоматическом режиме различные полезные задачи, такие как:
— поиск определенного текста в файле или в множестве файлов;
— создание, обновление, перемещение и переименование файлов и папок;
— поиск в Интернете и загрузка онлайн-контента;
— обновление и форматирование данных в электронных таблицах Excel любого размера;
— разбиение, слияние, разметка водяными знаками и шифрование PDF-документов;
— рассылка напоминаний в виде сообщений электронной почты или текстовых уведомлений;
— заполнение онлайновых форм.
Пошаговые инструкции помогут вам лучше понять, как работает та или иная программа, а учебные проекты, предлагаемые в конце каждой главы, предоставят вам возможность испытать свои силы в улучшении ранее рассмотренных программ и использовать приобретенные знания для автоматизации аналогичных задач.
12,293 просмотров всего, 6 просмотров сегодня
Изучите методы скрапинга и краулинга веб-сайтов, чтобы получить доступ к неограниченному объему данных в любом уголке Интернета в любом формате. С помощью этого практического руководства вы узнаете, как использовать скрипты Python и веб-API, чтобы одновременно собрать и обработать данные с тысяч или даже миллионов веб-страниц.
Идеально подходящая для программистов, специалистов по безопасности и веб-администраторов, знакомых с языком Python, книга знакомит не только с основными принципами работы веб-скраперов, но и углубляется в более сложные темы, такие, как анализ сырых данных или использование скраперов для тестирования интерфейса веб-сайта. Примеры программного кода, приведенные в книге, помогут разобраться в этих принципах на практике.
8,910 просмотров всего, 5 просмотров сегодня
Based on the latest version of the language, this book offers a self-contained, concise and coherent introduction to programming with Python. The book’s primary focus is on realistic case study applications of Python. Each practical example is accompanied by a brief explanation of the problem-terminology and concepts, followed by necessary program development in Python using its constructs, and simulated testing.
Given the open and participatory nature of development, Python has a variety of incorporated data structures, which has made it difficult to present it in a coherent manner. Further, some advanced concepts (super, yield, generator, decorator, etc.) are not easy to explain. The book specially addresses these challenges; starting with a minimal subset of the core, it offers users a step-by-step guide to achieving proficiency.
2,938 просмотров всего, сегодня нет просмотров
Цель этой книги — как можно быстрее ввести читателя в курс дела, чтобы тот начал писать на Python работоспособные программы (игры, визуализации данных и веб-приложения), и одновременно заложить основу в области программирования, которая пригодится ему на протяжении всей жизни. Книга написана для людей любого возраста, которые прежде никогда не программировали на Python или вообще никогда не программировали. Если вы хотите быстро изучить азы программирования, чтобы сосредоточиться на интересных проектах, а также проверить свое понимание новых концепций на содержательных задачах — эта книга для вас. Книга также прекрасно подходит для преподавателей, желающих предложить вводный курс программирования, основанный на проектах.
10,236 просмотров всего, 1 просмотров сегодня
Навигация по записям
forcoder.ru
Книги по Python | ProgBook
«Программирование на Python» – подробное и ясно изложенное руководство по применению языка Python в повседневной программистской деятельности. Книга не ограничивается изучением сильных сторон языка – изложение основано на том, какие вопросы чаще всего требуется решать. В содержание включены главы, посвящённые использованию сетевых протоколов, SQL, списков элементов, графов и других структур данных, а также приложениям Python к программированию веб-сайтов. Исследованы такие полезные возможности как запись данных в кроссплатформенном формате DBM, синтаксический анализ текстов, интеграция программ на Python со сторонним программным обеспечением. Учебник «Программирования на Python» отличает всестороннее описание наиболее актуальных задач – обмена данными между программами, предоставления удалённого доступа, создания пользовательских интерфейсов и объектно-ориентированных сценариев. Рассмотренные Марком Лутцем проблемы часто возникают в прикладном программировании, поэтому книга может использоваться как настольный справочник.
Если Вы овладели основами языка Python, и не знаете в каком направлении теперь двигаться, какие книги читать и что делать — книга «Программирование на Python. Том 1» поможет Вам. В данном руководстве детально расписаны возможности Python в создании графических интерфейсов и веб-приложений, а также его преимущества в среде системного администрирования и многое другое. В книге проводится исследование различных приемов работы с базами данных, изучение обработки текста, программирования сетевых взаимодействий и создания интерфейсов для сценариев. В данном издании описан синтаксис языка Python и методики разработки приложений с его помощью, проиллюстрированы часто встречающиеся идиомы программирования и рассмотрены методы корректного их применения.
В четвертом издании добавилось новых особенностей языка и практических приемов программирования для Python 3.X. Все примеры, представленные в книге, протестированы на альфа-версии Python 3.2. Можно без тени сомнения заявить, что книга «Программирование на Python. Том 1», автор которой Марк Лутц, является всесторонним изданием, ставшим для многих первой ступенью на сложном пути овладения навыками разработки приложений на Python.
Книга, нацеленная на практикующих программистов, предлагает краткую и по сути дела информацию о Python. В справочнике обсуждается не только ядро языка, но и наиболее необходимые и важные элементы стандартной библиотеки Python. Из пособия читатель узнает обо всех особенностях Python, таких как метаклассы, декораторы, генераторы, замыкания и сопрограммы, а также о модулях, имеющих непосредственное отношение к разработке многозадачных программ, которые используют потоки управления и дочерние процессы в своей работе. Также рассматриваются модули, предназначенные для организации работы с системными службами и сетевыми взаимодействиями.
Автор книги «Python. Подробный справочник», Дэвид Бизли, в четвертом издании полностью переработал способ подачи материала, что позволило читателям легче находить ответы на возникающие вопросы. В книге отражены все существенные нововведения в Python 2.6 и Python 3.
Посвященная удачному сочетанию двух программных платформ Trolltech Qt и Python, выразившемуся в библиотеке PyQt, книга рассказывает как об основах языка Python, так и о практическом применении PyQt для разработки графического интерфейса пользователя.
Заслужившие немалую популярность у разработчиков ПО две открытых программных платформы — библиотека разработки графического интерфейса Qt и кросс-платформенный интерпретатор Python — сведены воедино в не менее успешном проекте под названием PyQt, объединив простоту разработки на Python со всей мощью платформы Qt. Читатель, впервые услышавший о языке Python, найдёт в учебнике Николая Прохоренка уроки по основам языка, те же, кто более продвинут, могут сразу перейти к PyQt и ознакомиться с разработкой пользовательского интерфейса с помощью гордости разработчиков Qt — визуального редактора Qt Designer, узнает о связывании компонентов формы между собой, приёмах многопоточного программирования, автоматическом размещении компонентов на форме и многих других «коронных приёмов» Qt-программистов.
Разработчик, знакомый и с Qt, и с Python, всё равно не будет разочарован, прочитав об использовании PyQt в связке с SQLite — библиотекой встроенного SQL, позволяющей программе работать с базами данных без специального выделенного SQL сервера. Учебник «Python 3 и PyQt. Разработка приложений» будет полезен любому разработчику ПО, владеющему базовыми навыками объектно-ориентированного программирования.
Книга «Практикум по алгоритмизации и программированию на Python» представляет собой учебно-методический комплекс для школьников и студентов вузов.
Цель комплекса – начальное знакомство учащихся с основами алгоритмизации и приобретения ими базовых навыков программирования на языке Python. Книга содержит учебное пособие и методические указания для преподавателя. В учебном пособии изложен теоретический материал. Содержание учебника находится в соответствии с учебной программой курса информатики для общеобразовательных школ. Он содержит типовые задачи в том объеме, который требуется для сдачи ЕГЭ. Рассмотрены методы алгоритмизации задач и их практической реализации на Python. В комплексе имеется 32 файла с примерами различных вариантов задач.
В методичке описаны особенности IDE — Eric и Geany. В помощь учителю приведены особенности обучения программированию на этом языке.
В качестве дополнения приводятся методы использования модуля turtle и библиотеки Tkinter для моделирования и программирования графики.
Изложение материала с правильным дидактическим построением делает его доступным для самостоятельного изучения.
«Изучаем Python» — это четвертое издание учебника, посвященного известному языку Python, написанное Марком Лутцем исходя из материалов курсов, которые он ведет уже более десяти лет. Учебник написан легким и доступным языком и подходит для любой скорости обучения. Python — гибкий, простой в использовании язык, позволяющий с высокой скоростью разработки создавать надежные и эффективные проекты. Этот язык легко интегрируется с программами и инструментами, разработанными на других языках. Python используют такие всемирно известные компании, как Intel, Google, Hewlett-Packard и Cisco. Издание было обновлено и дополнено в связи с выходом новой версии языка 3.0. Рассмотрены основные типы объектов языка и способ их создания и работы с ними, функции, являющиеся основным процедурным элементом языка. Описан порядок работы с модулями, а также классами — дополнительными инструментами, имеющими объектно-ориентированный характер. Даются инструкции и различные модели обработки исключений, представлен обзор инструментов, необходимых для создания крупных программ. В конце каждой главы читатель найдет контрольные вопросы для самостоятельного закрепления материала и ответы на них, а в конце каждой части — практические упражнения (решения к ним приведены в приложении В). В книге имеются примечания о появившихся в версии Python 3.1 наиболее важных расширениях языка.
«Django. Подробное руководство» — справочник, посвященный последней версии среды выполнения для разработки веб-приложений. Этот фреймворк представляет собой легкий и удобный инструмент для создания и качественной поддержки самых сложных сетевых ресурсов без затраты лишних усилий. В книге обсуждаются шаблоны высокого уровня абстракции, широко применимые в веб-программировании, средства ускоренной реализации наиболее типичных задач и четко определенные соглашения о вариантах разрешения проблем.
Подробно рассмотрены методы работы с компонентами Django, сами эти компоненты, а также способы эффективного использования инструментов при работе над разнообразными проектами. Книга ориентирована на читателя, желающего изучить вопросы создания интернет-ресурсов с использованием Django, начиная с нуля и заканчивая безопасностью, интернационализацией, кэшированием и генерированием RSS и PDF. Этот справочник предназначен также для тех, кто знаком с базовыми подходами веб-программирования и имеет навыки работы на языке Python.
Средства эффективной обработки разнообразной информации в Интернете никогда еще не были столь востребованы и важны, как сегодня. Книга «Программируем коллективный разум» является первым практическим пособием по программированию различных интеллектуальных приложений для Web 2.0. Тут Вы сможете найти все нужное, чтобы научиться писать самообучаемые программы, способные собирать и затем анализировать огромные объемы данных, которые имеются в Сети. Прочитав описываемую книгу, Вы научитесь эффективно пользоваться алгоритмами машинного обучения, при этом адаптируя их под собственные нужды. Для того чтобы овладеть материалом, который представлен в книге, от Вас не потребуется абсолютно никаких специальных навыков и знаний о машинном обучении, анализе данных либо математической статистике. Но предполагается, что Вы уже имеете достаточный опыт программирования, а также знакомы с ключевыми концепциями. Отметим, что в каждом разделе Вы найдете примеры и задания, которые помогут Вам легко и быстро освоить разные аспекты работы алгоритмов.
На базе простой и очень надежной платформы Django на Python Вы имеете возможность проектировать мощные веб-решения всего лишь из нескольких строк программного кода. Авторы книги «Django. Разработка веб-приложений на Python» детально описывают все инструменты, приемы и концепции, которые нужно знать, чтобы максимально эффективно использовать Django версии 1.0, включая все главные характерные особенности последней версии. Следует отметить, что это руководство начинается со своеобразного введения в Python, после чего подробно рассматриваются ключевые компоненты Django, а также порядок организации взаимодействия между указанными выше продуктами. В данной книге описываются способы создания конкретных приложений: фотогалерея, система управления содержимым, блог, а также инструмент публикации фрагментов программного кода с подсветкой синтаксиса. После всего этого рассматриваются более трудные для восприятия темы: синдицирование, тестирование веб-приложений, а также, настройка приложения администрирования. Авторы открывают секреты Django, давая детальные разъяснения и предоставляя множество примеров кода, сопровождая их описанием и иллюстрациями.
Python 3 – новая версия мощного высокоуровневого языка программирования общего назначения, признанного разработчиками программного обеспечения. Одна из самых сильных сторон книги – многолетний опыт ее автора, Марка Саммерфилда, ведущего специалиста по этому языку. В руководство по программированию включены необходимые для освоения языка на практике методы разработки программ с использованием стандартной или сторонней библиотеки для языка программирования Python 3. Уровень сложности в книге постепенно повышается по мере ее чтения: начиная с описания ключевых элементов Python, автор переходит к более сложным темам, таким как распределение вычислительной нагрузки между несколькими процессами и потоками, использование сложных типов данных, управляющих структур и функций. Одним из последних этапов освоения языка Python 3 является в книге создание приложений для работы с базами данных SQL и с файлами DBI. Книга «Программирование на Python 3. Подробное руководство» обладает как справочным, так и учебным материалом, насыщена увлекательными примерами, доступными также и на специальном сайте издания. Код примеров был предварительно протестирован с окончательным релизом Python в операционных системах Windows, Linux и Mac OS X.
progbook.ru
Первая программа. Среда разработки IDLE
Сегодня мы напишем свою первую программу в среде разработки IDLE.
После загрузки и установки python открываем IDLE (среда разработки на языке Python, поставляемая вместе с дистрибутивом).
Здесь и далее буду приводить примеры под ОС Windows, так как именно она у меня сейчас под рукой.
Запускаем IDLE (изначально запускается в интерактивном режиме), после чего уже можно начинать писать первую программу. Традиционно, первой программой у нас будет “hello world”.
Чтобы написать “hello world” на python, достаточно всего одной строки:
print("Hello world!")
Вводим этот код в IDLE и нажимаем Enter. Результат виден на картинке:
Поздравляю! Вы написали свою первую программу на python! (если что-то не работает).
С интерактивным режимом мы немного познакомились, можете с ним ещё поиграться, например, написать
print(3 + 4) print(3 * 5) print(3 ** 2)
Но, всё-таки, интерактивный режим не будет являться основным. В основном, вы будете сохранять программный код в файл и запускать уже файл.
Для того, чтобы создать новое окно, в интерактивном режиме IDLE выберите File → New File (или нажмите Ctrl + N).
В открывшемся окне введите следующий код:
name = input("Как Вас зовут? ") print("Привет,", name)
Первая строка печатает вопрос (“Как Вас зовут? “), ожидает, пока вы не напечатаете что-нибудь и не нажмёте Enter и сохраняет введённое значение в переменной name.
Во второй строке мы используем функцию print для вывода текста на экран, в данном случае для вывода “Привет, ” и того, что хранится в переменной “name”.
Теперь нажмём F5 (или выберем в меню IDLE Run → Run Module) и убедимся, что то, что мы написали, работает. Перед запуском IDLE предложит нам сохранить файл. Сохраним туда, куда вам будет удобно, после чего программа запустится.
Вы должны увидеть что-то наподобие этого (на скриншоте слева – файл с написанной вами программой, справа – результат её работы):
Поздравляю! Вы научились писать простейшие программы, а также познакомились со средой разработки IDLE. Теперь можно немного отдохнуть, а потом начать изучать python дальше. Можете посмотреть синтаксис python, циклы или условия. Желаю удачи!
pythonworld.ru